GLAPI/glGetActiveSubroutineUniformName

From OpenGL.org
Jump to: navigation, search
glGetActiveSubroutineUniformName
Core in version 4.4
Core since version 4.0
Core ARB extension ARB_shader_subroutine

glGetActiveSubroutineUniformName: query the name of an active shader subroutine uniform

Function Definition

 void glGetActiveSubroutineUniformName(GLuint program​, GLenum shadertype​, GLuint index​, GLsizei bufsize​, GLsizei *length​, GLchar *name​);
program
Specifies the name of the program containing the subroutine.
shadertype
Specifies the shader stage from which to query for the subroutine parameter. shadertype​ must be one of GL_VERTEX_SHADER​, GL_TESS_CONTROL_SHADER​, GL_TESS_EVALUATION_SHADER​, GL_GEOMETRY_SHADER​, GL_FRAGMENT_SHADER​, or GL_COMPUTE_SHADER​.
index
Specifies the index of the shader subroutine uniform.
bufsize
Specifies the size of the buffer whose address is given in name​.
length
Specifies the address of a variable into which is written the number of characters copied into name​.
name
Specifies the address of a buffer that will receive the name of the specified shader subroutine uniform.

Description

glGetActiveSubroutineUniformName retrieves the name of an active shader subroutine uniform. program​ contains the name of the program containing the uniform. shadertype​ specifies the stage for which which the uniform location, given by index​, is valid. index​ must be between zero and the value of GL_ACTIVE_SUBROUTINE_UNIFORMS​ minus one for the shader stage.

The uniform name is returned as a null-terminated string in name​. The actual number of characters written into name​, excluding the null terminator is returned in length​. If length​ is NULL​, no length is returned. The maximum number of characters that may be written into name​, including the null terminator, is specified by bufsize​. The length of the longest subroutine uniform name in program​ and shadertype​ is given by the value of GL_ACTIVE_SUBROUTINE_UNIFORM_MAX_LENGTH​, which can be queried with glGetProgramStage.

Errors

GL_INVALID_ENUM​ is generated if shadertype​ or pname​ is not one of the accepted values.

GL_INVALID_VALUE​ is generated if index​ is greater than or equal to the value of GL_ACTIVE_SUBROUTINES​.

GL_INVALID_VALUE​ is generated if program​ is not the name of an existing program object.

Associated Gets

glGetProgramStage with argument GL_ACTIVE_SUBROUTINE_UNIFORMS​

glGetProgramInterface with the interface set to GL_VERTEX_SUBROUTINE_UNIFORM​, ​GL_TESS_CONTROL_SUBROUTINE_UNIFORM​, GL_TESS_EVALUATION_SUBROUTINE​_UNIFORM​, GL_GEOMETRY_SUBROUTINE_UNIFORM​, ​GL_FRAGMENT_SUBROUTINE_UNIFORM​​, or GL_COMPUTE_SUBROUTINE​_UNIFORM​ as appropriate, and with GL_ACTIVE_RESOURCES​

glGetSubroutineIndex

glGetProgramResourceIndex with the interface set to GL_VERTEX_SUBROUTINE_UNIFORM​, ​GL_TESS_CONTROL_SUBROUTINE_UNIFORM​, GL_TESS_EVALUATION_SUBROUTINE​_UNIFORM​, GL_GEOMETRY_SUBROUTINE_UNIFORM​, ​GL_FRAGMENT_SUBROUTINE_UNIFORM​​, or GL_COMPUTE_SUBROUTINE​_UNIFORM​ as appropriate

See Also

glGetActiveSubroutineUniform, glGetProgramResource, glGetProgramResourceName, glGetSubroutineUniformLocation

Copyright

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/.