GLAPI/glGetActiveSubroutineUniformName: Difference between revisions

From OpenGL Wiki
Jump to navigation Jump to search
m Bot: Adding better formatting.
m Bot: Adding better formatting.
Line 41: Line 41:


{{apifunc|glGetProgramStage}} with argument {{enum|GL_ACTIVE_SUBROUTINE_UNIFORMS}}
{{apifunc|glGetProgramStage}} with argument {{enum|GL_ACTIVE_SUBROUTINE_UNIFORMS}}
{{apifunc|glGetProgramInterface}} with the interface set to  {{enum|GL_VERTEX_SUBROUTINE_UNIFORM}}, {{enum|​GL_TESS_CONTROL_SUBROUTINE_UNIFORM}}, {{​enum|GL_TESS_EVALUATION_SUBROUTINE​_UNIFORM}}, {{enum|GL_GEOMETRY_SUBROUTINE_UNIFORM}}, {{enum|​GL_FRAGMENT_SUBROUTINE_UNIFORM​}}, or {{enum|GL_COMPUTE_SUBROUTINE​_UNIFORM}} as appropriate, and with {{enum|GL_ACTIVE_RESOURCES}}
{{apifunc|glGetSubroutineIndex}}
{{apifunc|glGetProgramResourceIndex}} with the interface set to  {{enum|GL_VERTEX_SUBROUTINE_UNIFORM}}, {{enum|​GL_TESS_CONTROL_SUBROUTINE_UNIFORM}}, {{​enum|GL_TESS_EVALUATION_SUBROUTINE​_UNIFORM}}, {{enum|GL_GEOMETRY_SUBROUTINE_UNIFORM}}, {{enum|​GL_FRAGMENT_SUBROUTINE_UNIFORM​}}, or {{enum|GL_COMPUTE_SUBROUTINE​_UNIFORM}} as appropriate


== See Also ==
== See Also ==


{{apifunc|glGetSubroutineIndex}}, {{apifunc|glGetActiveSubroutineUniform}}, {{apifunc|glGetProgramStage}}
{{apifunc|glGetActiveSubroutineUniform}}, {{apifunc|glGetProgramResource}}, {{apifunc|glGetProgramResourceName}}


== Copyright ==
== Copyright ==

Revision as of 19:37, 27 September 2012

glGetActiveSubroutineUniformName
Core in version 4.6
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 or GL_FRAGMENT_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, Template:​enum, 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, Template:​enum, GL_GEOMETRY_SUBROUTINE_UNIFORM, ​GL_FRAGMENT_SUBROUTINE_UNIFORM​, or GL_COMPUTE_SUBROUTINE​_UNIFORM as appropriate

See Also

glGetActiveSubroutineUniform, glGetProgramResource, glGetProgramResourceName

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