| OpenGL.raw.GL.ARB.vertex_program | index /tmp/buildd/pyopengl-3.0.0~b6/OpenGL/raw/GL/ARB/vertex_program.py |
OpenGL extension ARB.vertex_program
Overview (from the spec)
Unextended OpenGL mandates a certain set of configurable per-vertex
computations defining vertex transformation, texture coordinate generation
and transformation, and lighting. Several extensions have added further
per-vertex computations to OpenGL. For example, extensions have defined
new texture coordinate generation modes (ARB_texture_cube_map,
NV_texgen_reflection, NV_texgen_emboss), new vertex transformation modes
(ARB_vertex_blend, EXT_vertex_weighting), new lighting modes (OpenGL 1.2's
separate specular and rescale normal functionality), several modes for fog
distance generation (NV_fog_distance), and eye-distance point size
attenuation (EXT/ARB_point_parameters).
Each such extension adds a small set of relatively inflexible
per-vertex computations.
This inflexibility is in contrast to the typical flexibility provided by
the underlying programmable floating point engines (whether micro-coded
vertex engines, DSPs, or CPUs) that are traditionally used to implement
OpenGL's per-vertex computations. The purpose of this extension is to
expose to the OpenGL application writer a significant degree of per-vertex
programmability for computing vertex parameters.
For the purposes of discussing this extension, a vertex program is a
sequence of floating-point 4-component vector operations that determines
how a set of program parameters (defined outside of OpenGL's Begin/End
pair) and an input set of per-vertex parameters are transformed to a set
of per-vertex result parameters.
The per-vertex computations for standard OpenGL given a particular set of
lighting and texture coordinate generation modes (along with any state for
extensions defining per-vertex computations) is, in essence, a vertex
program. However, the sequence of operations is defined implicitly by the
current OpenGL state settings rather than defined explicitly as a sequence
of instructions.
This extension provides an explicit mechanism for defining vertex program
instruction sequences for application-defined vertex programs. In order
to define such vertex programs, this extension defines a vertex
programming model including a floating-point 4-component vector
instruction set and a relatively large set of floating-point 4-component
registers.
The extension's vertex programming model is designed for efficient
hardware implementation and to support a wide variety of vertex programs.
By design, the entire set of existing vertex programs defined by existing
OpenGL per-vertex computation extensions can be implemented using the
extension's vertex programming model.
The official definition of this extension is available here:
http://oss.sgi.com/projects/ogl-sample/registry/ARB/vertex_program.txt
Automatically generated by the get_gl_extensions script, do not edit!
| Modules | ||||||
| ||||||
| Functions | ||
| ||
| Data | ||
| EXTENSION_NAME = 'GL_ARB_vertex_program' GL_COLOR_SUM_ARB = GL_COLOR_SUM_ARB GL_CURRENT_MATRIX_ARB = GL_CURRENT_MATRIX_ARB GL_CURRENT_MATRIX_STACK_DEPTH_ARB = GL_CURRENT_MATRIX_STACK_DEPTH_ARB GL_CURRENT_VERTEX_ATTRIB_ARB = GL_CURRENT_VERTEX_ATTRIB_ARB GL_MATRIX0_ARB = GL_MATRIX0_ARB GL_MATRIX10_ARB = GL_MATRIX10_ARB GL_MATRIX11_ARB = GL_MATRIX11_ARB GL_MATRIX12_ARB = GL_MATRIX12_ARB GL_MATRIX13_ARB = GL_MATRIX13_ARB GL_MATRIX14_ARB = GL_MATRIX14_ARB GL_MATRIX15_ARB = GL_MATRIX15_ARB GL_MATRIX16_ARB = GL_MATRIX16_ARB GL_MATRIX17_ARB = GL_MATRIX17_ARB GL_MATRIX18_ARB = GL_MATRIX18_ARB GL_MATRIX19_ARB = GL_MATRIX19_ARB GL_MATRIX1_ARB = GL_MATRIX1_ARB GL_MATRIX20_ARB = GL_MATRIX20_ARB GL_MATRIX21_ARB = GL_MATRIX21_ARB GL_MATRIX22_ARB = GL_MATRIX22_ARB GL_MATRIX23_ARB = GL_MATRIX23_ARB GL_MATRIX24_ARB = GL_MATRIX24_ARB GL_MATRIX25_ARB = GL_MATRIX25_ARB GL_MATRIX26_ARB = GL_MATRIX26_ARB GL_MATRIX27_ARB = GL_MATRIX27_ARB GL_MATRIX28_ARB = GL_MATRIX28_ARB GL_MATRIX29_ARB = GL_MATRIX29_ARB GL_MATRIX2_ARB = GL_MATRIX2_ARB GL_MATRIX30_ARB = GL_MATRIX30_ARB GL_MATRIX31_ARB = GL_MATRIX31_ARB GL_MATRIX3_ARB = GL_MATRIX3_ARB GL_MATRIX4_ARB = GL_MATRIX4_ARB GL_MATRIX5_ARB = GL_MATRIX5_ARB GL_MATRIX6_ARB = GL_MATRIX6_ARB GL_MATRIX7_ARB = GL_MATRIX7_ARB GL_MATRIX8_ARB = GL_MATRIX8_ARB GL_MATRIX9_ARB = GL_MATRIX9_ARB GL_MAX_PROGRAM_ADDRESS_REGISTERS_ARB = GL_MAX_PROGRAM_ADDRESS_REGISTERS_ARB GL_MAX_PROGRAM_ATTRIBS_ARB = GL_MAX_PROGRAM_ATTRIBS_ARB GL_MAX_PROGRAM_ENV_PARAMETERS_ARB = GL_MAX_PROGRAM_ENV_PARAMETERS_ARB GL_MAX_PROGRAM_INSTRUCTIONS_ARB = GL_MAX_PROGRAM_INSTRUCTIONS_ARB GL_MAX_PROGRAM_LOCAL_PARAMETERS_ARB = GL_MAX_PROGRAM_LOCAL_PARAMETERS_ARB GL_MAX_PROGRAM_MATRICES_ARB = GL_MAX_PROGRAM_MATRICES_ARB GL_MAX_PROGRAM_MATRIX_STACK_DEPTH_ARB = GL_MAX_PROGRAM_MATRIX_STACK_DEPTH_ARB GL_MAX_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB = GL_MAX_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB GL_MAX_PROGRAM_NATIVE_ATTRIBS_ARB = GL_MAX_PROGRAM_NATIVE_ATTRIBS_ARB GL_MAX_PROGRAM_NATIVE_INSTRUCTIONS_ARB = GL_MAX_PROGRAM_NATIVE_INSTRUCTIONS_ARB GL_MAX_PROGRAM_NATIVE_PARAMETERS_ARB = GL_MAX_PROGRAM_NATIVE_PARAMETERS_ARB GL_MAX_PROGRAM_NATIVE_TEMPORARIES_ARB = GL_MAX_PROGRAM_NATIVE_TEMPORARIES_ARB GL_MAX_PROGRAM_PARAMETERS_ARB = GL_MAX_PROGRAM_PARAMETERS_ARB GL_MAX_PROGRAM_TEMPORARIES_ARB = GL_MAX_PROGRAM_TEMPORARIES_ARB GL_MAX_VERTEX_ATTRIBS_ARB = GL_MAX_VERTEX_ATTRIBS_ARB GL_PROGRAM_ADDRESS_REGISTERS_ARB = GL_PROGRAM_ADDRESS_REGISTERS_ARB GL_PROGRAM_ATTRIBS_ARB = GL_PROGRAM_ATTRIBS_ARB GL_PROGRAM_BINDING_ARB = GL_PROGRAM_BINDING_ARB GL_PROGRAM_ERROR_POSITION_ARB = GL_PROGRAM_ERROR_POSITION_ARB GL_PROGRAM_ERROR_STRING_ARB = GL_PROGRAM_ERROR_STRING_ARB GL_PROGRAM_FORMAT_ARB = GL_PROGRAM_FORMAT_ARB GL_PROGRAM_FORMAT_ASCII_ARB = GL_PROGRAM_FORMAT_ASCII_ARB GL_PROGRAM_INSTRUCTIONS_ARB = GL_PROGRAM_INSTRUCTIONS_ARB GL_PROGRAM_LENGTH_ARB = GL_PROGRAM_LENGTH_ARB GL_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB = GL_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB GL_PROGRAM_NATIVE_ATTRIBS_ARB = GL_PROGRAM_NATIVE_ATTRIBS_ARB GL_PROGRAM_NATIVE_INSTRUCTIONS_ARB = GL_PROGRAM_NATIVE_INSTRUCTIONS_ARB GL_PROGRAM_NATIVE_PARAMETERS_ARB = GL_PROGRAM_NATIVE_PARAMETERS_ARB GL_PROGRAM_NATIVE_TEMPORARIES_ARB = GL_PROGRAM_NATIVE_TEMPORARIES_ARB GL_PROGRAM_PARAMETERS_ARB = GL_PROGRAM_PARAMETERS_ARB GL_PROGRAM_STRING_ARB = GL_PROGRAM_STRING_ARB GL_PROGRAM_TEMPORARIES_ARB = GL_PROGRAM_TEMPORARIES_ARB GL_PROGRAM_UNDER_NATIVE_LIMITS_ARB = GL_PROGRAM_UNDER_NATIVE_LIMITS_ARB GL_TRANSPOSE_CURRENT_MATRIX_ARB = GL_TRANSPOSE_CURRENT_MATRIX_ARB GL_VERTEX_ATTRIB_ARRAY_ENABLED_ARB = GL_VERTEX_ATTRIB_ARRAY_ENABLED_ARB GL_VERTEX_ATTRIB_ARRAY_NORMALIZED_ARB = GL_VERTEX_ATTRIB_ARRAY_NORMALIZED_ARB GL_VERTEX_ATTRIB_ARRAY_POINTER_ARB = GL_VERTEX_ATTRIB_ARRAY_POINTER_ARB GL_VERTEX_ATTRIB_ARRAY_SIZE_ARB = GL_VERTEX_ATTRIB_ARRAY_SIZE_ARB GL_VERTEX_ATTRIB_ARRAY_STRIDE_ARB = GL_VERTEX_ATTRIB_ARRAY_STRIDE_ARB GL_VERTEX_ATTRIB_ARRAY_TYPE_ARB = GL_VERTEX_ATTRIB_ARRAY_TYPE_ARB GL_VERTEX_PROGRAM_ARB = GL_VERTEX_PROGRAM_ARB GL_VERTEX_PROGRAM_POINT_SIZE_ARB = GL_VERTEX_PROGRAM_POINT_SIZE_ARB GL_VERTEX_PROGRAM_TWO_SIDE_ARB = GL_VERTEX_PROGRAM_TWO_SIDE_ARB __file__ = '/tmp/buildd/pyopengl-3.0.0~b6/OpenGL/raw/GL/ARB/vertex_program.py' __name__ = 'OpenGL.raw.GL.ARB.vertex_program' glBindProgramARB = <OpenGL.platform.baseplatform.glBindProgramARB object at 0x93ea68c> glDeleteProgramsARB = <OpenGL.platform.baseplatform.glDeleteProgramsARB object at 0x93ea6cc> glDisableVertexAttribArrayARB = <OpenGL.platform.baseplatform.glDisableVertexAttribArrayARB object at 0x93ea60c> glEnableVertexAttribArrayARB = <OpenGL.platform.baseplatform.glEnableVertexAttribArrayARB object at 0x93ea5ac> glGenProgramsARB = <OpenGL.platform.baseplatform.glGenProgramsARB object at 0x93ea70c> glGetProgramEnvParameterdvARB = <OpenGL.platform.baseplatform.glGetProgramEnvParameterdvARB object at 0x8b5a0ac> glGetProgramEnvParameterfvARB = <OpenGL.platform.baseplatform.glGetProgramEnvParameterfvARB object at 0x8b5a0ec> glGetProgramLocalParameterdvARB = <OpenGL.platform.baseplatform.glGetProgramLocalParameterdvARB object at 0x8b5a12c> glGetProgramLocalParameterfvARB = <OpenGL.platform.baseplatform.glGetProgramLocalParameterfvARB object at 0x8b5a16c> glGetProgramStringARB = <OpenGL.platform.baseplatform.glGetProgramStringARB object at 0x8b5a1ec> glGetProgramivARB = <OpenGL.platform.baseplatform.glGetProgramivARB object at 0x8b5a1ac> glGetVertexAttribPointervARB = <OpenGL.platform.baseplatform.glGetVertexAttribPointervARB object at 0x8b5a2ec> glGetVertexAttribdvARB = <OpenGL.platform.baseplatform.glGetVertexAttribdvARB object at 0x8b5a22c> glGetVertexAttribfvARB = <OpenGL.platform.baseplatform.glGetVertexAttribfvARB object at 0x8b5a26c> glGetVertexAttribivARB = <OpenGL.platform.baseplatform.glGetVertexAttribivARB object at 0x8b5a2ac> glIsProgramARB = <OpenGL.platform.baseplatform.glIsProgramARB object at 0x8b5a34c> glProgramEnvParameter4dARB = <OpenGL.platform.baseplatform.glProgramEnvParameter4dARB object at 0x93ea74c> glProgramEnvParameter4dvARB = <OpenGL.platform.baseplatform.glProgramEnvParameter4dvARB object at 0x93ea78c> glProgramEnvParameter4fARB = <OpenGL.platform.baseplatform.glProgramEnvParameter4fARB object at 0x93ea7cc> glProgramEnvParameter4fvARB = <OpenGL.platform.baseplatform.glProgramEnvParameter4fvARB object at 0x93ea80c> glProgramLocalParameter4dARB = <OpenGL.platform.baseplatform.glProgramLocalParameter4dARB object at 0x93ea84c> glProgramLocalParameter4dvARB = <OpenGL.platform.baseplatform.glProgramLocalParameter4dvARB object at 0x93ea88c> glProgramLocalParameter4fARB = <OpenGL.platform.baseplatform.glProgramLocalParameter4fARB object at 0x8b5a02c> glProgramLocalParameter4fvARB = <OpenGL.platform.baseplatform.glProgramLocalParameter4fvARB object at 0x8b5a06c> glProgramStringARB = <OpenGL.platform.baseplatform.glProgramStringARB object at 0x93ea64c> glVertexAttrib1dARB = <OpenGL.platform.baseplatform.glVertexAttrib1dARB object at 0x93ea90c> glVertexAttrib1dvARB = <OpenGL.platform.baseplatform.glVertexAttrib1dvARB object at 0x93ea94c> glVertexAttrib1fARB = <OpenGL.platform.baseplatform.glVertexAttrib1fARB object at 0x93ea98c> glVertexAttrib1fvARB = <OpenGL.platform.baseplatform.glVertexAttrib1fvARB object at 0x93ea9cc> glVertexAttrib1sARB = <OpenGL.platform.baseplatform.glVertexAttrib1sARB object at 0x93eaa0c> glVertexAttrib1svARB = <OpenGL.platform.baseplatform.glVertexAttrib1svARB object at 0x93eaa4c> glVertexAttrib2dARB = <OpenGL.platform.baseplatform.glVertexAttrib2dARB object at 0x93eaa8c> glVertexAttrib2dvARB = <OpenGL.platform.baseplatform.glVertexAttrib2dvARB object at 0x93eaacc> glVertexAttrib2fARB = <OpenGL.platform.baseplatform.glVertexAttrib2fARB object at 0x93eab0c> glVertexAttrib2fvARB = <OpenGL.platform.baseplatform.glVertexAttrib2fvARB object at 0x93eab4c> glVertexAttrib2sARB = <OpenGL.platform.baseplatform.glVertexAttrib2sARB object at 0x93eab8c> glVertexAttrib2svARB = <OpenGL.platform.baseplatform.glVertexAttrib2svARB object at 0x93eabcc> glVertexAttrib3dARB = <OpenGL.platform.baseplatform.glVertexAttrib3dARB object at 0x93eac0c> glVertexAttrib3dvARB = <OpenGL.platform.baseplatform.glVertexAttrib3dvARB object at 0x93eac4c> glVertexAttrib3fARB = <OpenGL.platform.baseplatform.glVertexAttrib3fARB object at 0x93eac8c> glVertexAttrib3fvARB = <OpenGL.platform.baseplatform.glVertexAttrib3fvARB object at 0x93eaccc> glVertexAttrib3sARB = <OpenGL.platform.baseplatform.glVertexAttrib3sARB object at 0x93ead0c> glVertexAttrib3svARB = <OpenGL.platform.baseplatform.glVertexAttrib3svARB object at 0x93ead4c> glVertexAttrib4NbvARB = <OpenGL.platform.baseplatform.glVertexAttrib4NbvARB object at 0x93eae0c> glVertexAttrib4NivARB = <OpenGL.platform.baseplatform.glVertexAttrib4NivARB object at 0x93eaf0c> glVertexAttrib4NsvARB = <OpenGL.platform.baseplatform.glVertexAttrib4NsvARB object at 0x93eaf4c> glVertexAttrib4NubARB = <OpenGL.platform.baseplatform.glVertexAttrib4NubARB object at 0x93eaf8c> glVertexAttrib4NubvARB = <OpenGL.platform.baseplatform.glVertexAttrib4NubvARB object at 0x93eafec> glVertexAttrib4NuivARB = <OpenGL.platform.baseplatform.glVertexAttrib4NuivARB object at 0x93ea20c> glVertexAttrib4NusvARB = <OpenGL.platform.baseplatform.glVertexAttrib4NusvARB object at 0x93ea24c> glVertexAttrib4bvARB = <OpenGL.platform.baseplatform.glVertexAttrib4bvARB object at 0x93ea28c> glVertexAttrib4dARB = <OpenGL.platform.baseplatform.glVertexAttrib4dARB object at 0x93ea2cc> glVertexAttrib4dvARB = <OpenGL.platform.baseplatform.glVertexAttrib4dvARB object at 0x93ea30c> glVertexAttrib4fARB = <OpenGL.platform.baseplatform.glVertexAttrib4fARB object at 0x93ea34c> glVertexAttrib4fvARB = <OpenGL.platform.baseplatform.glVertexAttrib4fvARB object at 0x93ea38c> glVertexAttrib4ivARB = <OpenGL.platform.baseplatform.glVertexAttrib4ivARB object at 0x93ea3cc> glVertexAttrib4sARB = <OpenGL.platform.baseplatform.glVertexAttrib4sARB object at 0x93ea40c> glVertexAttrib4svARB = <OpenGL.platform.baseplatform.glVertexAttrib4svARB object at 0x93ea44c> glVertexAttrib4ubvARB = <OpenGL.platform.baseplatform.glVertexAttrib4ubvARB object at 0x93ea48c> glVertexAttrib4uivARB = <OpenGL.platform.baseplatform.glVertexAttrib4uivARB object at 0x93ea4cc> glVertexAttrib4usvARB = <OpenGL.platform.baseplatform.glVertexAttrib4usvARB object at 0x93ea50c> glVertexAttribPointerARB = <OpenGL.platform.baseplatform.glVertexAttribPointerARB object at 0x93ea54c> | ||