glGetActiveUniformBlockName — retrieve the name of an active uniform block
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
.
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
.
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
.
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/.