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

OpenGL extension ARB.shader_objects
 
This module customises the behaviour of the 
OpenGL.raw.GL.ARB.shader_objects to provide a more 
Python-friendly API
 
Overview (from the spec)
        
        This extension adds API calls that are necessary to manage shader
        objects and program objects as defined in the OpenGL 2.0 white papers by
        3Dlabs.
        
        The generation of an executable that runs on one of OpenGL's
        programmable units is modeled to that of developing a typical C/C++
        application. There are one or more source files, each of which are
        stored by OpenGL in a shader object. Each shader object (source file)
        needs to be compiled and attached to a program object. Once all shader
        objects are compiled successfully, the program object needs to be linked
        to produce an executable. This executable is part of the program object,
        and can now be loaded onto the programmable units to make it part of the
        current OpenGL state. Both the compile and link stages generate a text
        string that can be queried to get more information. This information
        could be, but is not limited to, compile errors, link errors,
        optimization hints, etc. Values for uniform variables, declared in a
        shader, can be set by the application and used to control a shader's
        behavior.
        
        This extension defines functions for creating shader objects and program
        objects, for compiling shader objects, for linking program objects, for
        attaching shader objects to program objects, and for using a program
        object as part of current state. Functions to load uniform values are
        also defined. Some house keeping functions, like deleting an object and
        querying object state, are also provided.
        
        Although this extension defines the API for creating shader objects, it
        does not define any specific types of shader objects. It is assumed that
        this extension will be implemented along with at least one such
        additional extension for creating a specific type of OpenGL 2.0 shader
        (e.g., the ARB_fragment_shader extension or the ARB_vertex_shader
        extension).
 
The official definition of this extension is available here:
http://www.opengl.org/registry/specs/ARB/shader_objects.txt

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

 
Functions
       
_afterCheck(key)
Generate an error-checking function for compilation operations

 
Data
        EXTENSION_NAME = 'GL_ARB_shader_objects'
GL_BOOL_ARB = GL_BOOL_ARB
GL_BOOL_VEC2_ARB = GL_BOOL_VEC2_ARB
GL_BOOL_VEC3_ARB = GL_BOOL_VEC3_ARB
GL_BOOL_VEC4_ARB = GL_BOOL_VEC4_ARB
GL_FLOAT_MAT2_ARB = GL_FLOAT_MAT2_ARB
GL_FLOAT_MAT3_ARB = GL_FLOAT_MAT3_ARB
GL_FLOAT_MAT4_ARB = GL_FLOAT_MAT4_ARB
GL_FLOAT_VEC2_ARB = GL_FLOAT_VEC2_ARB
GL_FLOAT_VEC3_ARB = GL_FLOAT_VEC3_ARB
GL_FLOAT_VEC4_ARB = GL_FLOAT_VEC4_ARB
GL_INFO_LOG_LENGTH_ARB = GL_INFO_LOG_LENGTH_ARB
GL_INT_VEC2_ARB = GL_INT_VEC2_ARB
GL_INT_VEC3_ARB = GL_INT_VEC3_ARB
GL_INT_VEC4_ARB = GL_INT_VEC4_ARB
GL_OBJECT_ACTIVE_UNIFORMS_ARB = GL_OBJECT_ACTIVE_UNIFORMS_ARB
GL_OBJECT_ACTIVE_UNIFORM_MAX_LENGTH_ARB = GL_OBJECT_ACTIVE_UNIFORM_MAX_LENGTH_ARB
GL_OBJECT_ATTACHED_OBJECTS_ARB = GL_OBJECT_ATTACHED_OBJECTS_ARB
GL_OBJECT_COMPILE_STATUS_ARB = GL_OBJECT_COMPILE_STATUS_ARB
GL_OBJECT_DELETE_STATUS_ARB = GL_OBJECT_DELETE_STATUS_ARB
GL_OBJECT_INFO_LOG_LENGTH_ARB = GL_OBJECT_INFO_LOG_LENGTH_ARB
GL_OBJECT_LINK_STATUS_ARB = GL_OBJECT_LINK_STATUS_ARB
GL_OBJECT_SHADER_SOURCE_LENGTH_ARB = GL_OBJECT_SHADER_SOURCE_LENGTH_ARB
GL_OBJECT_SUBTYPE_ARB = GL_OBJECT_SUBTYPE_ARB
GL_OBJECT_TYPE_ARB = GL_OBJECT_TYPE_ARB
GL_OBJECT_VALIDATE_STATUS_ARB = GL_OBJECT_VALIDATE_STATUS_ARB
GL_PROGRAM_OBJECT_ARB = GL_PROGRAM_OBJECT_ARB
GL_SAMPLER_1D_ARB = GL_SAMPLER_1D_ARB
GL_SAMPLER_1D_SHADOW_ARB = GL_SAMPLER_1D_SHADOW_ARB
GL_SAMPLER_2D_ARB = GL_SAMPLER_2D_ARB
GL_SAMPLER_2D_RECT_ARB = GL_SAMPLER_2D_RECT_ARB
GL_SAMPLER_2D_RECT_SHADOW_ARB = GL_SAMPLER_2D_RECT_SHADOW_ARB
GL_SAMPLER_2D_SHADOW_ARB = GL_SAMPLER_2D_SHADOW_ARB
GL_SAMPLER_3D_ARB = GL_SAMPLER_3D_ARB
GL_SAMPLER_CUBE_ARB = GL_SAMPLER_CUBE_ARB
GL_SHADER_OBJECT_ARB = GL_SHADER_OBJECT_ARB
__file__ = '/home/mcfletch/pylive/OpenGL/GL/ARB/shader_objects.pyc'
__name__ = 'OpenGL.GL.ARB.shader_objects'
__package__ = 'OpenGL.GL.ARB'
glAttachObjectARB = <OpenGL.platform.baseplatform.glAttachObjectARB object at 0x2805c10>
glCompileShaderARB = <OpenGL.platform.baseplatform.glCompileShaderARB object at 0x2805b50>
glCreateProgramObjectARB = <OpenGL.platform.baseplatform.glCreateProgramObjectARB object at 0x2805b90>
glCreateShaderObjectARB = <OpenGL.platform.baseplatform.glCreateShaderObjectARB object at 0x2805a10>
glDeleteObjectARB = <OpenGL.platform.baseplatform.glDeleteObjectARB object at 0x2805810>
glDetachObjectARB = <OpenGL.platform.baseplatform.glDetachObjectARB object at 0x2805910>
glGetActiveUniformARB = OpenGL.lazywrapper.lazy( 'glGetActiveUniformARB' )
glGetAttachedObjectsARB = OpenGL.lazywrapper.lazy( 'glGetAttachedObjectsARB' )
glGetHandleARB = <OpenGL.platform.baseplatform.glGetHandleARB object at 0x28058d0>
glGetInfoLogARB = OpenGL.lazywrapper.lazy( 'glGetInfoLogARB' )
glGetObjectParameterfvARB = OpenGL.lazywrapper.lazy( 'glGetObjectParameterfvARB' )
glGetObjectParameterivARB = OpenGL.lazywrapper.lazy( 'glGetObjectParameterivARB' )
glGetShaderSourceARB = OpenGL.lazywrapper.lazy( 'glGetShaderSourceARB' )
glGetUniformLocationARB = OpenGL.lazywrapper.lazy( 'glGetUniformLocationARB' )
glGetUniformfvARB = <OpenGL.platform.baseplatform.glGetUniformfvARB object at 0x280abd0>
glGetUniformivARB = <OpenGL.platform.baseplatform.glGetUniformivARB object at 0x280ac50>
glLinkProgramARB = <OpenGL.platform.baseplatform.glLinkProgramARB object at 0x2805d10>
glShaderSourceARB = <OpenGL.wrapper.glShaderSourceARB object at 0x280d440>
glUniform1fARB = <OpenGL.platform.baseplatform.glUniform1fARB object at 0x2805ed0>
glUniform1fvARB = <OpenGL.wrapper.glUniform1fvARB object at 0x280d5f0>
glUniform1iARB = <OpenGL.platform.baseplatform.glUniform1iARB object at 0x280a110>
glUniform1ivARB = <OpenGL.wrapper.glUniform1ivARB object at 0x280d908>
glUniform2fARB = <OpenGL.platform.baseplatform.glUniform2fARB object at 0x2805f50>
glUniform2fvARB = <OpenGL.wrapper.glUniform2fvARB object at 0x280db90>
glUniform2iARB = <OpenGL.platform.baseplatform.glUniform2iARB object at 0x280a210>
glUniform2ivARB = <OpenGL.wrapper.glUniform2ivARB object at 0x280de18>
glUniform3fARB = <OpenGL.platform.baseplatform.glUniform3fARB object at 0x2805fd0>
glUniform3fvARB = <OpenGL.wrapper.glUniform3fvARB object at 0x28110e0>
glUniform3iARB = <OpenGL.platform.baseplatform.glUniform3iARB object at 0x280a250>
glUniform3ivARB = <OpenGL.wrapper.glUniform3ivARB object at 0x2811368>
glUniform4fARB = <OpenGL.platform.baseplatform.glUniform4fARB object at 0x280a090>
glUniform4fvARB = <OpenGL.wrapper.glUniform4fvARB object at 0x28115f0>
glUniform4iARB = <OpenGL.platform.baseplatform.glUniform4iARB object at 0x280a2d0>
glUniform4ivARB = <OpenGL.wrapper.glUniform4ivARB object at 0x2811878>
glUniformMatrix2fvARB = <OpenGL.platform.baseplatform.glUniformMatrix2fvARB object at 0x280a750>
glUniformMatrix3fvARB = <OpenGL.platform.baseplatform.glUniformMatrix3fvARB object at 0x280a7d0>
glUniformMatrix4fvARB = <OpenGL.platform.baseplatform.glUniformMatrix4fvARB object at 0x280a850>
glUseProgramObjectARB = <OpenGL.platform.baseplatform.glUseProgramObjectARB object at 0x2805dd0>
glValidateProgramARB = <OpenGL.platform.baseplatform.glValidateProgramARB object at 0x2805e90>
name = 'glUniform4ivARB'