GLAPI/glGetSubroutineUniformLocation: Difference between revisions
m Bot: Adjusting API page category. |
m Bot: Adding better formatting. |
||
(6 intermediate revisions by 2 users not shown) | |||
Line 9: | Line 9: | ||
== Function Definition == | == Function Definition == | ||
GLint '''glGetSubroutineUniformLocation'''(GLuint | GLint '''glGetSubroutineUniformLocation'''(GLuint {{param|program}}, GLenum {{param|shadertype}}, const GLchar *{{param|name}}); | ||
; program | ; program | ||
: 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. | : 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. | ||
Line 20: | Line 20: | ||
== Description == | == Description == | ||
'''glGetSubroutineUniformLocation''' returns the location of the subroutine uniform variable | '''glGetSubroutineUniformLocation''' returns the location of the subroutine uniform variable {{param|name}} in the shader stage of type {{param|shadertype}} attached to {{param|program}}, with behavior otherwise identical to {{apifunc|glGetUniformLocation}}. | ||
If | If {{param|name}} is not the name of a subroutine uniform in the shader stage, -1 is returned, but no error is generated. If {{param|name}} is the name of a subroutine uniform in the shader stage, a value between zero and the value of {{enum|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 {{enum|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 == | == Errors == | ||
{{ | {{enum|GL_INVALID_ENUM}} is generated if {{param|shadertype}} or {{param|pname}} is not one of the accepted values. | ||
{{ | {{enum|GL_INVALID_VALUE}} is generated if {{param|program}} is not the name of an existing program object. | ||
== See Also == | == See Also == | ||
{{apifunc|glGetProgram}}, {{apifunc|glGetActiveSubroutineUniform}}, {{apifunc|glGetActiveSubroutineUniformName}}, {{apifunc|glGetUniformLocation}}, {{apifunc|glGetProgramResourceLocation}}, {{apifunc|glUniformSubroutines}} | |||
== Copyright == | == Copyright == | ||
Line 38: | Line 38: | ||
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/ http://opencontent.org/openpub/]. | 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/ http://opencontent.org/openpub/]. | ||
[[Category:API Reference | [[Category:Core API Ref Shader Program Query|GetSubroutineUniformLocation]] | ||
[[Category: | [[Category:Core API Reference|GetSubroutineUniformLocation]] | ||
[[Category:Program Object API State Functions|GetSubroutineUniformLocation]] |
Latest revision as of 10:01, 15 August 2013
Core in version | 4.6 | |
---|---|---|
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/.