GLAPI/glGetUniformBlockIndex: Difference between revisions

From OpenGL Wiki
Jump to navigation Jump to search
m Bot: Adjusting API page category.
m Bot: Adding better formatting.
 
(6 intermediate revisions by 2 users not shown)
Line 8: Line 8:
== Function Definition ==
== Function Definition ==


   GLuint '''glGetUniformBlockIndex'''(GLuint ''program'', const GLchar *''uniformBlockName'');
   GLuint '''glGetUniformBlockIndex'''(GLuint {{param|program}}, const GLchar *{{param|uniformBlockName}});


; program
; program
Line 17: Line 17:
== Description ==
== Description ==


'''glGetUniformBlockIndex''' retrieves the index of a uniform block within ''program''.
'''glGetUniformBlockIndex''' retrieves the index of a uniform block within {{param|program}}.


''program'' must be the name of a program object for which the command [[GLAPI/glLinkProgram|glLinkProgram]] must have been called in the past, although it is not required that [[GLAPI/glLinkProgram|glLinkProgram]] must have succeeded. The link could have failed because the number of active uniforms exceeded the limit.
{{param|program}} must be the name of a program object for which the command {{apifunc|glLinkProgram}} must have been called in the past, although it is not required that {{apifunc|glLinkProgram}} must have succeeded. The link could have failed because the number of active uniforms exceeded the limit.


''uniformBlockName'' must contain a nul-terminated string specifying the name of the uniform block.
{{param|uniformBlockName}} must contain a nul-terminated string specifying the name of the uniform block.


'''glGetUniformBlockIndex''' returns the uniform block index for the uniform block named ''uniformBlockName'' of ''program''. If ''uniformBlockName'' does not identify an active uniform block of ''program'', '''glGetUniformBlockIndex''' returns the special identifier, {{code|GL_INVALID_INDEX}}. Indices of the active uniform blocks of a program are assigned in consecutive order, beginning with zero.
'''glGetUniformBlockIndex''' returns the uniform block index for the uniform block named {{param|uniformBlockName}} of {{param|program}}. If {{param|uniformBlockName}} does not identify an active uniform block of {{param|program}}, '''glGetUniformBlockIndex''' returns the special identifier, {{enum|GL_INVALID_INDEX}}. Indices of the active uniform blocks of a program are assigned in consecutive order, beginning with zero.


== Errors ==
== Errors ==


{{code|GL_INVALID_OPERATION}} is generated if ''program'' is not the name of a program object for which [[GLAPI/glLinkProgram|glLinkProgram]] has been called in the past.
{{enum|GL_INVALID_OPERATION}} is generated if {{param|program}} is not the name of a program object for which {{apifunc|glLinkProgram}} has been called in the past.


== Notes ==
== Notes ==
Line 35: Line 35:
== See Also ==
== See Also ==


[[GLAPI/glGetActiveUniformBlockName|glGetActiveUniformBlockName]], [[GLAPI/glGetActiveUniformBlock|glGetActiveUniformBlock]], [[GLAPI/glLinkProgram|glLinkProgram]]
{{apifunc|glGetActiveUniformBlockName}}, {{apifunc|glGetActiveUniformBlock}}, {{apifunc|glGetProgramResource}}, {{apifunc|glUniformBlockBinding}}


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

Latest revision as of 10:02, 15 August 2013

glGetUniformBlockIndex
Core in version 4.6
Core since version 3.1

glGetUniformBlockIndex: retrieve the index of a named uniform block

Function Definition

 GLuint glGetUniformBlockIndex(GLuint program​, const GLchar *uniformBlockName​);
program
Specifies the name of a program containing the uniform block.
uniformBlockName
Specifies the address an array of characters to containing the name of the uniform block whose index to retrieve.

Description

glGetUniformBlockIndex retrieves the index of a uniform block within program​.

program​ must be the name of a program object for which the command glLinkProgram must have been called in the past, although it is not required that glLinkProgram must have succeeded. The link could have failed because the number of active uniforms exceeded the limit.

uniformBlockName​ must contain a nul-terminated string specifying the name of the uniform block.

glGetUniformBlockIndex returns the uniform block index for the uniform block named uniformBlockName​ of program​. If uniformBlockName​ does not identify an active uniform block of program​, glGetUniformBlockIndex returns the special identifier, GL_INVALID_INDEX. Indices of the active uniform blocks of a program are assigned in consecutive order, beginning with zero.

Errors

GL_INVALID_OPERATION is generated if program​ is not the name of a program object for which glLinkProgram has been called in the past.

Notes

glGetUniformBlockIndex is available only if the GL version is 3.1 or greater.

See Also

glGetActiveUniformBlockName, glGetActiveUniformBlock, glGetProgramResource, glUniformBlockBinding

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