Difference between revisions of "GLAPI/glGetSubroutineUniformLocation"

From OpenGL.org
Jump to: navigation, search
m (Bot: Adding better formatting.)
(Function Definition)
Line 14: Line 14:
 
: Specifies the name of the program containing shader stage.
 
: Specifies the name of the program containing shader stage.
 
; shadertype
 
; shadertype
: Specifies the shader stage from which to query for subroutine uniform index. {{param|shadertype}} must be one of {{enum|GL_VERTEX_SHADER}}, {{enum|GL_TESS_CONTROL_SHADER}}, {{enum|GL_TESS_EVALUATION_SHADER}}, {{enum|GL_GEOMETRY_SHADER}} or {{enum|GL_FRAGMENT_SHADER}}.
+
: Specifies the shader stage from which to query for subroutine uniform index. {{param|shadertype}} must be one of {{enum|GL_VERTEX_SHADER}}, {{enum|GL_TESS_CONTROL_SHADER}}, {{enum|GL_TESS_EVALUATION_SHADER}}, {{enum|GL_GEOMETRY_SHADER}}, {{enum|GL_FRAGMENT_SHADER}}, or {{enum|GL_COMPUTE_SHADER}}.
 
; name
 
; name
 
: Specifies the name of the subroutine uniform whose index to query.
 
: Specifies the name of the subroutine uniform whose index to query.

Revision as of 21:42, 27 April 2013

glGetSubroutineUniformLocation
Core in version 4.5
Core since version 4.0
Core ARB extension ARB_shader_subroutine

glGetSubroutineUniformLocation: retrieve the location of a subroutine uniform of a given shader stage within a program

Function Definition

 GLint glGetSubroutineUniformLocation(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, GL_FRAGMENT_SHADER, or GL_COMPUTE_SHADER.
name
Specifies the name of the subroutine uniform whose index to query.

Description

glGetSubroutineUniformLocation returns the location of the subroutine uniform variable name​ in the shader stage of type shadertype​ attached to program​, with behavior otherwise identical to glGetUniformLocation.

If name​ is not the name of a subroutine uniform in the shader stage, -1 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_SUBROUTINE_LOCATIONS minus one will be returned. Subroutine locations are assigned using consecutive integers in the range from zero to the value of GL_ACTIVE_SUBROUTINE_LOCATIONS minus one for the shader stage. For active subroutine uniforms declared as arrays, the declared array elements are assigned consecutive locations.

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.

See Also

glGetProgram, glGetActiveSubroutineUniform, glGetActiveSubroutineUniformName, glGetUniformLocation, glGetProgramResourceLocation, glUniformSubroutines

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