GLAPI/glGetActiveUniformBlockName: Difference between revisions
m Renaming category: 'API Reference 4' to 'Core API Reference'. |
m Bot: Adding better formatting. |
||
Line 8: | Line 8: | ||
== Function Definition == | == Function Definition == | ||
void '''glGetActiveUniformBlockName'''(GLuint | void '''glGetActiveUniformBlockName'''(GLuint {{param|program}}, GLuint {{param|uniformBlockIndex}}, GLsizei {{param|bufSize}}, GLsizei *{{param|length}}, GLchar *{{param|uniformBlockName}}); | ||
; program | ; program | ||
: Specifies the name of a program containing the uniform block. | : Specifies the name of a program containing the uniform block. | ||
; uniformBlockIndex | ; uniformBlockIndex | ||
: Specifies the index of the uniform block within | : Specifies the index of the uniform block within {{param|program}}. | ||
; bufSize | ; bufSize | ||
: Specifies the size of the buffer addressed by | : Specifies the size of the buffer addressed by {{param|uniformBlockName}}. | ||
; length | ; length | ||
: Specifies the address of a variable to receive the number of characters that were written to | : Specifies the address of a variable to receive the number of characters that were written to {{param|uniformBlockName}}. | ||
; uniformBlockName | ; uniformBlockName | ||
: Specifies the address an array of characters to receive the name of the uniform block at | : Specifies the address an array of characters to receive the name of the uniform block at {{param|uniformBlockIndex}}. | ||
== Description == | == Description == | ||
'''glGetActiveUniformBlockName''' retrieves the name of the active uniform block at | '''glGetActiveUniformBlockName''' retrieves the name of the active uniform block at {{param|uniformBlockIndex}} within {{param|program}}. | ||
{{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. | |||
{{param|uniformBlockIndex}} is an active uniform block index of {{param|program}}, and must be less than the value of {{code|GL_ACTIVE_UNIFORM_BLOCKS}}. | |||
Upon success, the name of the uniform block identified by | Upon success, the name of the uniform block identified by {{param|unifomBlockIndex}} is returned into {{param|uniformBlockName}}. The name is nul-terminated. The actual number of characters written into {{param|uniformBlockName}}, excluding the nul terminator, is returned in {{param|length}}. If {{param|length}} is {{code|NULL}}, no length is returned. | ||
{{param|bufSize}} contains the maximum number of characters (including the nul terminator) that will be written into {{param|uniformBlockName}}. | |||
If an error occurs, nothing will be written to | If an error occurs, nothing will be written to {{param|uniformBlockName}} or {{param|length}}. | ||
== Errors == | == Errors == | ||
{{code|GL_INVALID_OPERATION}} is generated if | {{code|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. | ||
{{code|GL_INVALID_VALUE}} is generated if | {{code|GL_INVALID_VALUE}} is generated if {{param|uniformBlockIndex}} is greater than or equal to the value of {{code|GL_ACTIVE_UNIFORM_BLOCKS}} or is not the index of an active uniform block in {{param|program}}. | ||
== Notes == | == Notes == | ||
Line 47: | Line 47: | ||
== See Also == | == See Also == | ||
{{apifunc|glGetActiveUniformBlock}}, {{apifunc|glGetUniformBlockIndex}} | |||
== Copyright == | == Copyright == |
Revision as of 01:19, 29 April 2012
Core in version | 4.6 | |
---|---|---|
Core since version | 3.1 |
glGetActiveUniformBlockName: retrieve the name of an active uniform block
Function Definition
void glGetActiveUniformBlockName(GLuint program, GLuint uniformBlockIndex, GLsizei bufSize, GLsizei *length, GLchar *uniformBlockName);
- program
- Specifies the name of a program containing the uniform block.
- uniformBlockIndex
- Specifies the index of the uniform block within program.
- bufSize
- Specifies the size of the buffer addressed by uniformBlockName.
- length
- Specifies the address of a variable to receive the number of characters that were written to uniformBlockName.
- uniformBlockName
- Specifies the address an array of characters to receive the name of the uniform block at uniformBlockIndex.
Description
glGetActiveUniformBlockName retrieves the name of the active uniform block at uniformBlockIndex 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.
uniformBlockIndex is an active uniform block index of program, and must be less than the value of GL_ACTIVE_UNIFORM_BLOCKS.
Upon success, the name of the uniform block identified by unifomBlockIndex is returned into uniformBlockName. The name is nul-terminated. The actual number of characters written into uniformBlockName, excluding the nul terminator, is returned in length. If length is NULL, no length is returned.
bufSize contains the maximum number of characters (including the nul terminator) that will be written into uniformBlockName.
If an error occurs, nothing will be written to uniformBlockName or length.
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.
GL_INVALID_VALUE is generated if uniformBlockIndex is greater than or equal to the value of GL_ACTIVE_UNIFORM_BLOCKS or is not the index of an active uniform block in program.
Notes
glGetActiveUniformBlockName is available only if the GL version is 3.1 or greater.
See Also
glGetActiveUniformBlock, glGetUniformBlockIndex
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/.