GLAPI/glGetUniformSubroutine: Difference between revisions

From OpenGL Wiki
Jump to navigation Jump to search
4.0 API.
 
m Bot: Adding better formatting.
 
(6 intermediate revisions by the same user not shown)
Line 9: Line 9:
== Function Definition ==
== Function Definition ==


   void '''glGetUniformSubroutineuiv'''(GLenum ''shadertype'', GLint ''location'', GLuint *''values'');
   void '''glGetUniformSubroutineuiv'''(GLenum {{param|shadertype}}, GLint {{param|location}}, GLuint *{{param|values}});


; shadertype
; shadertype
: Specifies the shader stage from which to query for subroutine uniform index. ''shadertype'' must be one of {{code|GL_VERTEX_SHADER}}, {{code|GL_TESS_CONTROL_SHADER}}, {{code|GL_TESS_EVALUATION_SHADER}}, {{code|GL_GEOMETRY_SHADER}} or {{code|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}} or {{enum|GL_FRAGMENT_SHADER}}.
; location
; location
: Specifies the location of the subroutine uniform.
: Specifies the location of the subroutine uniform.
Line 20: Line 20:
== Description ==
== Description ==


'''glGetUniformSubroutine''' retrieves the value of the subroutine uniform at location ''location'' for shader stage ''shadertype'' of the current program. ''location'' must be less than the value of {{code|GL_ACTIVE_SUBROUTINE_UNIFORM_LOCATIONS}} for the shader currently in use at shader stage ''shadertype''. The value of the subroutine uniform is returned in ''values''.
'''glGetUniformSubroutine''' retrieves the value of the subroutine uniform at location {{param|location}} for shader stage {{param|shadertype}} of the current program. {{param|location}} must be less than the value of {{enum|GL_ACTIVE_SUBROUTINE_UNIFORM_LOCATIONS}} for the shader currently in use at shader stage {{param|shadertype}}. The value of the subroutine uniform is returned in {{param|values}}.


== Errors ==
== Errors ==


{{code|GL_INVALID_ENUM}} is generated if ''shadertype'' is not one of the accepted values.
{{enum|GL_INVALID_ENUM}} is generated if {{param|shadertype}} is not one of the accepted values.


{{code|GL_INVALID_VALUE}} is generated if ''location'' is greater than or equal to the value of {{code|GL_ACTIVE_SUBROUTINE_UNIFORM_LOCATIONS}} for the shader currently in use at shader stage ''shadertype''.
{{enum|GL_INVALID_VALUE}} is generated if {{param|location}} is greater than or equal to the value of {{enum|GL_ACTIVE_SUBROUTINE_UNIFORM_LOCATIONS}} for the shader currently in use at shader stage {{param|shadertype}}.


{{code|GL_INVALID_OPERATION}} is generated if no program is active.
{{enum|GL_INVALID_OPERATION}} is generated if no program is active.
 
== Associated Gets ==
 
{{apifunc|glGetUniformLocation}}
 
{{apifunc|glGetProgramResourceLocation}}


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


[[GLAPI/glGetProgram|glGetProgram]], [[GLAPI/glGetActiveSubroutineUniform|glGetActiveSubroutineUniform]], [[GLAPI/glGetActiveSubroutineUniformName|glGetActiveSubroutineUniformName]], [[GLAPI/glGetUniformLocation|glGetUniformLocation]]
{{apifunc|glGetProgramResource}}, {{apifunc|glUniformSubroutines}}


== Copyright ==
== Copyright ==
Line 38: Line 44:
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 4|GetUniformSubroutine]]
[[Category:Core API Ref Shader Program Query|GetUniformSubroutine]]
[[Category:Core API Reference|GetUniformSubroutine]]
[[Category:Program Object API State Functions|GetUniformSubroutine]]

Latest revision as of 10:02, 15 August 2013

glGetUniformSubroutine
Core in version 4.6
Core since version 4.0
Core ARB extension ARB_shader_subroutine

glGetUniformSubroutine: retrieve the value of a subroutine uniform of a given shader stage of the current program

Function Definition

 void glGetUniformSubroutineuiv(GLenum shadertype​, GLint location​, GLuint *values​);
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.
location
Specifies the location of the subroutine uniform.
values
Specifies the address of a variable to receive the value or values of the subroutine uniform.

Description

glGetUniformSubroutine retrieves the value of the subroutine uniform at location location​ for shader stage shadertype​ of the current program. location​ must be less than the value of GL_ACTIVE_SUBROUTINE_UNIFORM_LOCATIONS for the shader currently in use at shader stage shadertype​. The value of the subroutine uniform is returned in values​.

Errors

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

GL_INVALID_VALUE is generated if location​ is greater than or equal to the value of GL_ACTIVE_SUBROUTINE_UNIFORM_LOCATIONS for the shader currently in use at shader stage shadertype​.

GL_INVALID_OPERATION is generated if no program is active.

Associated Gets

glGetUniformLocation

glGetProgramResourceLocation

See Also

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