OpenGL.GL.ARB.vertex_program
index
/home/mcfletch/pylive/OpenGL/GL/ARB/vertex_program.py

OpenGL extension ARB.vertex_program
 
This module customises the behaviour of the 
OpenGL.raw.GL.ARB.vertex_program to provide a more 
Python-friendly API
 
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://www.opengl.org/registry/specs/ARB/vertex_program.txt

 
Modules
       
OpenGL.arrays
OpenGL.constant
OpenGL.constants
OpenGL.contextdata
OpenGL.converters
ctypes
OpenGL.error
OpenGL.extensions
OpenGL.GL.glget
OpenGL.platform
OpenGL.wrapper

 
Data
        ArrayDatatype = <OpenGL_accelerate.arraydatatype.ArrayDatatype object at 0x21b73c0>
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__ = '/home/mcfletch/pylive/OpenGL/GL/ARB/vertex_program.pyc'
__name__ = 'OpenGL.GL.ARB.vertex_program'
__package__ = 'OpenGL.GL.ARB'
glBindProgramARB = <OpenGL.platform.baseplatform.glBindProgramARB object at 0x5dbae10>
glDeleteProgramsARB = <OpenGL.platform.baseplatform.glDeleteProgramsARB object at 0x5dbaed0>
glDisableVertexAttribArrayARB = <OpenGL.platform.baseplatform.glDisableVertexAttribArrayARB object at 0x5dbacd0>
glEnableVertexAttribArrayARB = <OpenGL.platform.baseplatform.glEnableVertexAttribArrayARB object at 0x5dbac10>
glGenProgramsARB = <OpenGL.platform.baseplatform.glGenProgramsARB object at 0x5dbaf90>
glGetProgramEnvParameterdvARB = <OpenGL.wrapper.glGetProgramEnvParameterdvARB object at 0x5afbef0>
glGetProgramEnvParameterfvARB = <OpenGL.wrapper.glGetProgramEnvParameterfvARB object at 0x5dc0128>
glGetProgramLocalParameterdvARB = <OpenGL.wrapper.glGetProgramLocalParameterdvARB object at 0x5dc0320>
glGetProgramLocalParameterfvARB = <OpenGL.wrapper.glGetProgramLocalParameterfvARB object at 0x5dc0518>
glGetProgramStringARB = <OpenGL.platform.baseplatform.glGetProgramStringARB object at 0x5dbb690>
glGetProgramivARB = <OpenGL.wrapper.glGetProgramivARB object at 0x5afbc20>
glGetVertexAttribPointervARB = <OpenGL.platform.baseplatform.glGetVertexAttribPointervARB object at 0x5dbb890>
glGetVertexAttribdvARB = <OpenGL.wrapper.glGetVertexAttribdvARB object at 0x5dc0710>
glGetVertexAttribfvARB = <OpenGL.platform.baseplatform.glGetVertexAttribfvARB object at 0x5dbb790>
glGetVertexAttribivARB = <OpenGL.platform.baseplatform.glGetVertexAttribivARB object at 0x5dbb810>
glIsProgramARB = <OpenGL.platform.baseplatform.glIsProgramARB object at 0x5dbb990>
glProgramEnvParameter4dARB = <OpenGL.platform.baseplatform.glProgramEnvParameter4dARB object at 0x5dbafd0>
glProgramEnvParameter4dvARB = <OpenGL.platform.baseplatform.glProgramEnvParameter4dvARB object at 0x5dbb090>
glProgramEnvParameter4fARB = <OpenGL.platform.baseplatform.glProgramEnvParameter4fARB object at 0x5dbb110>
glProgramEnvParameter4fvARB = <OpenGL.platform.baseplatform.glProgramEnvParameter4fvARB object at 0x5dbb190>
glProgramLocalParameter4dARB = <OpenGL.platform.baseplatform.glProgramLocalParameter4dARB object at 0x5dbb210>
glProgramLocalParameter4dvARB = <OpenGL.platform.baseplatform.glProgramLocalParameter4dvARB object at 0x5dbb290>
glProgramLocalParameter4fARB = <OpenGL.platform.baseplatform.glProgramLocalParameter4fARB object at 0x5dbb310>
glProgramLocalParameter4fvARB = <OpenGL.platform.baseplatform.glProgramLocalParameter4fvARB object at 0x5dbb390>
glProgramStringARB = <OpenGL.platform.baseplatform.glProgramStringARB object at 0x5dbad10>
glVertexAttrib1dARB = <OpenGL.platform.baseplatform.glVertexAttrib1dARB object at 0x5b08510>
glVertexAttrib1dvARB = <OpenGL.platform.baseplatform.glVertexAttrib1dvARB object at 0x5b085d0>
glVertexAttrib1fARB = <OpenGL.platform.baseplatform.glVertexAttrib1fARB object at 0x5b08610>
glVertexAttrib1fvARB = <OpenGL.platform.baseplatform.glVertexAttrib1fvARB object at 0x5b08690>
glVertexAttrib1sARB = <OpenGL.platform.baseplatform.glVertexAttrib1sARB object at 0x5b086d0>
glVertexAttrib1svARB = <OpenGL.platform.baseplatform.glVertexAttrib1svARB object at 0x5b08750>
glVertexAttrib2dARB = <OpenGL.platform.baseplatform.glVertexAttrib2dARB object at 0x5b08790>
glVertexAttrib2dvARB = <OpenGL.platform.baseplatform.glVertexAttrib2dvARB object at 0x5b08810>
glVertexAttrib2fARB = <OpenGL.platform.baseplatform.glVertexAttrib2fARB object at 0x5b08850>
glVertexAttrib2fvARB = <OpenGL.platform.baseplatform.glVertexAttrib2fvARB object at 0x5b08910>
glVertexAttrib2sARB = <OpenGL.platform.baseplatform.glVertexAttrib2sARB object at 0x5b08950>
glVertexAttrib2svARB = <OpenGL.platform.baseplatform.glVertexAttrib2svARB object at 0x5b08a50>
glVertexAttrib3dARB = <OpenGL.platform.baseplatform.glVertexAttrib3dARB object at 0x5b08a90>
glVertexAttrib3dvARB = <OpenGL.platform.baseplatform.glVertexAttrib3dvARB object at 0x5b08b90>
glVertexAttrib3fARB = <OpenGL.platform.baseplatform.glVertexAttrib3fARB object at 0x5b08bd0>
glVertexAttrib3fvARB = <OpenGL.platform.baseplatform.glVertexAttrib3fvARB object at 0x5b08cd0>
glVertexAttrib3sARB = <OpenGL.platform.baseplatform.glVertexAttrib3sARB object at 0x5b08d10>
glVertexAttrib3svARB = <OpenGL.platform.baseplatform.glVertexAttrib3svARB object at 0x5b08e10>
glVertexAttrib4NbvARB = <OpenGL.platform.baseplatform.glVertexAttrib4NbvARB object at 0x5b08ed0>
glVertexAttrib4NivARB = <OpenGL.platform.baseplatform.glVertexAttrib4NivARB object at 0x5b08f90>
glVertexAttrib4NsvARB = <OpenGL.platform.baseplatform.glVertexAttrib4NsvARB object at 0x5dba090>
glVertexAttrib4NubARB = <OpenGL.platform.baseplatform.glVertexAttrib4NubARB object at 0x5dba0d0>
glVertexAttrib4NubvARB = <OpenGL.platform.baseplatform.glVertexAttrib4NubvARB object at 0x5dba1d0>
glVertexAttrib4NuivARB = <OpenGL.platform.baseplatform.glVertexAttrib4NuivARB object at 0x5dba290>
glVertexAttrib4NusvARB = <OpenGL.platform.baseplatform.glVertexAttrib4NusvARB object at 0x5dba350>
glVertexAttrib4bvARB = <OpenGL.platform.baseplatform.glVertexAttrib4bvARB object at 0x5dba410>
glVertexAttrib4dARB = <OpenGL.platform.baseplatform.glVertexAttrib4dARB object at 0x5dba450>
glVertexAttrib4dvARB = <OpenGL.platform.baseplatform.glVertexAttrib4dvARB object at 0x5dba550>
glVertexAttrib4fARB = <OpenGL.platform.baseplatform.glVertexAttrib4fARB object at 0x5dba590>
glVertexAttrib4fvARB = <OpenGL.platform.baseplatform.glVertexAttrib4fvARB object at 0x5dba690>
glVertexAttrib4ivARB = <OpenGL.platform.baseplatform.glVertexAttrib4ivARB object at 0x5dba750>
glVertexAttrib4sARB = <OpenGL.platform.baseplatform.glVertexAttrib4sARB object at 0x5dba790>
glVertexAttrib4svARB = <OpenGL.platform.baseplatform.glVertexAttrib4svARB object at 0x5dba890>
glVertexAttrib4ubvARB = <OpenGL.platform.baseplatform.glVertexAttrib4ubvARB object at 0x5dba950>
glVertexAttrib4uivARB = <OpenGL.platform.baseplatform.glVertexAttrib4uivARB object at 0x5dbaa10>
glVertexAttrib4usvARB = <OpenGL.platform.baseplatform.glVertexAttrib4usvARB object at 0x5dbaad0>
glVertexAttribPointerARB = OpenGL.lazywrapper.lazy( 'glVertexAttribPointerARB' )