OpenGL.GL.ARB.shader_subroutine

OpenGL extension ARB.shader_subroutine
This module customises the behaviour of the OpenGL.raw.GL.ARB.shader_subroutine to provide a more Python-friendly API
Overview (from the spec)
This extension adds support to shaders for "indirect subroutine calls", where a single shader can include many subroutines and dynamically select through the API which subroutine is called from each call site. Switching subroutines dynamically in this fashion can avoid the cost of recompiling and managing multiple shaders, while still retaining most of the performance of specialized shaders.
The official definition of this extension is available here: http://www.opengl.org/registry/specs/ARB/shader_subroutine.txt

Functions

glGetActiveSubroutineName( program , shadertype , index , bufsize , length , name )
glGetActiveSubroutineUniformiv( program , shadertype , index , pname , values )
glGetActiveSubroutineUniformName( program , shadertype , index , bufsize , length , name )
glGetProgramStageiv( program , shadertype , pname , values )
glGetSubroutineIndex( program , shadertype , name ) -> <class 'ctypes.c_uint'>
glGetSubroutineUniformLocation( program , shadertype , name ) -> <class 'ctypes.c_int'>
glGetUniformSubroutineuiv( shadertype , location , params )
glUniformSubroutinesuiv( shadertype , count , indices )

Constants

GL_ACTIVE_SUBROUTINE_MAX_LENGTH (36424)
GL_ACTIVE_SUBROUTINE_UNIFORM_LOCATIONS (36423)
GL_ACTIVE_SUBROUTINE_UNIFORM_MAX_LENGTH (36425)
GL_ACTIVE_SUBROUTINE_UNIFORMS (36326)
GL_ACTIVE_SUBROUTINES (36325)
GL_COMPATIBLE_SUBROUTINES (36427)
GL_MAX_SUBROUTINE_UNIFORM_LOCATIONS (36328)
GL_MAX_SUBROUTINES (36327)
GL_NUM_COMPATIBLE_SUBROUTINES (36426)
GL_UNIFORM_NAME_LENGTH (35385)
GL_UNIFORM_SIZE (35384)