glUniformSubroutines — load active subroutine uniforms
void glUniformSubroutinesuiv( | GLenum shadertype, |
GLsizei count, | |
const GLuint *indices) ; |
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
.
count
Specifies the number of uniform indices stored in indices
.
indices
Specifies the address of an array holding the indices to load into the shader subroutine variables.
glUniformSubroutines
loads all active subroutine uniforms for shader stage shadertype
of the current program with subroutine indices from indices
, storing indices[i]
into the uniform at location i
. count
must be equal to the value of GL_ACTIVE_SUBROUTINE_UNIFORM_LOCATIONS
for the program currently in use at shader stage shadertype
. Furthermore, all values in indices
must be less than the value of GL_ACTIVE_SUBROUTINES
for the shader stage.
GL_INVALID_OPERATION
is generated if no program object is current.
GL_INVALID_VALUE
is generated if count
is not equal to the value of GL_ACTIVE_SUBROUTINE_UNIFORM_LOCATIONS
for the shader stage shadertype
of the current program.
GL_INVALID_VALUE
is generated if any value in indices
is geater than or equal to the value of GL_ACTIVE_SUBROUTINES
for the shader stage shadertype
of the current program.
GL_INVALID_ENUM
is generated if shadertype
is not one of the accepted values.
glGetProgramStage with argument GL_ACTIVE_SUBROUTINES
glGetProgramStage with argument GL_ACTIVE_SUBROUTINE_UNIFORM_LOCATIONS
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 |
glUniformSubroutinesuiv | - | - | - | - | - | - | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
glGetProgram, glGetActiveSubroutineUniform, glGetActiveSubroutineUniformName, glGetProgramStage
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. https://opencontent.org/openpub/.