glGetSubroutineIndex.3G - Man Page
retrieve the index of a subroutine uniform of a given shader stage within a program
C Specification
GLuint glGetSubroutineIndex(GLuint program, GLenum shadertype, const GLchar *name);
Parameters
- 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.
Description
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.
Errors
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.
Version Support
OpenGL Version | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
Function / Feature Name | 2.0 | 2.1 | 3.0 | 3.1 | 3.2 | 3.3 | 4.0 | 4.1 | 4.2 | 4.3 | 4.4 | 4.5 |
glGetSubroutineIndex | - | - | - | - | - | - | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
See Also
glGetProgram(), glGetActiveSubroutineUniform(), glGetActiveSubroutineUniformName()
Copyright
Copyright © 2010-2014 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/.
Copyright
Copyright © 2010-2014 Khronos Group.
Referenced By
glGetActiveSubroutineName.3G(3), glGetActiveSubroutineUniform.3G(3), glGetActiveSubroutineUniformName.3G(3).