glGetSubroutineIndex — retrieve the index of a subroutine uniform of a given shader stage within a program
GLuint glGetSubroutineIndex( | GLuint | program, |
GLenum | shadertype, | |
const GLchar * | name) ; |
program
Specifies the name of the program containing shader stage.
shadertype
Specifies the shader stage from which to query for subroutine uniform index.
shadertype
must be one of GL_VERTEX_SHADER
, GL_TESS_CONTROL_SHADER
,
GL_TESS_EVALUATION_SHADER
, GL_GEOMETRY_SHADER
or
GL_FRAGMENT_SHADER
.
name
Specifies the name of the subroutine uniform whose index to query.
glGetSubroutineIndex
returns the index of a subroutine uniform within a shader stage attached to a program object.
program
contains the name of the program to which the shader is attached. shadertype
specifies the stage from which to query shader subroutine index. name
contains the null-terminated
name of the subroutine uniform whose name to query.
If name
is not the name of a subroutine uniform in the shader stage, GL_INVALID_INDEX
is returned, but no error is generated. If name
is the name of a subroutine uniform in the shader stage,
a value between zero and the value of GL_ACTIVE_SUBROUTINES
minus one will be returned. Subroutine indices
are assigned using consecutive integers in the range from zero to the value of GL_ACTIVE_SUBROUTINES
minus
one for the shader stage.
GL_INVALID_ENUM
is generated if shadertype
or pname
is not one of the accepted values.
GL_INVALID_VALUE
is generated if program
is not the name of an
existing program object.
Copyright © 2010 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. http://opencontent.org/openpub/.