GLAPI/glGetActiveUniformName

From OpenGL.org
Jump to: navigation, search
glGetActiveUniformName
Core in version 4.4
Core since version 2.0

glGetActiveUniformName: query the name of an active uniform

Function Definition

 void glGetActiveUniformName(GLuint program​, GLuint uniformIndex​, GLsizei bufSize​, GLsizei *length​, GLchar *uniformName​);
program
Specifies the program containing the active uniform index uniformIndex​.
uniformIndex
Specifies the index of the active uniform whose name to query.
bufSize
Specifies the size of the buffer, in units of GLchar​, of the buffer whose address is specified in uniformName​.
length
Specifies the address of a variable that will receive the number of characters that were or would have been written to the buffer addressed by uniformName​.
uniformName
Specifies the address of a buffer into which the GL will place the name of the active uniform at uniformIndex​ within program​.

Description

glGetActiveUniformName returns the name of the active uniform at uniformIndex​ within program​. The function will not write more than bufSize​ characters (including a null-terminator) to the address specified by uniformName​. If length​ is not NULL​, the number of characters that were written into uniformName​ (not including the nul-terminator) will be placed in the variable whose address is specified in length​. If length​ is NULL​, no length is returned.

The length of the longest uniform name in program​ is given by the value of GL_ACTIVE_UNIFORM_MAX_LENGTH​, which can be queried with glGetProgram. The length of this uniform's name, including the null-terminator, can be acquired with glGetActiveUniforms, passing GL_UNIFORM_NAME_LENGTH​.

If glGetActiveUniformName is not successful, nothing is written to length​ or uniformName​.

program​ must be the name of a program for which the command glLinkProgram has been issued in the past. It is not necessary for program​ to have been linked successfully. The link could have failed because the number of active uniforms exceeded the limit.

uniformIndex​ must be an active uniform index of the program program​, in the range zero to GL_ACTIVE_UNIFORMS​ - 1. The value of GL_ACTIVE_UNIFORMS​ can be queried with glGetProgram.

Errors

GL_INVALID_VALUE​ is generated if uniformIndex​ is greater than or equal to the value of GL_ACTIVE_UNIFORMS​.

GL_INVALID_VALUE​ is generated if bufSize​ is negative.

GL_INVALID_VALUE​ is generated if program​ is not the name of a program object for which glLinkProgram has been issued.

Associated Gets

glGetProgram with GL_ACTIVE_UNIFORMS​

glGetUniformIndices

glGetActiveUniforms with GL_UNIFORM_NAME_LENGTH​

glGetProgramInterface with GL_UNIFORM​ and GL_ACTIVE_RESOURCES​

glGetProgramResourceIndex with GL_UNIFORM​

glGetProgramResource with GL_NAME_LENGTH​​

See Also

glGetActiveUniform, glGetActiveUniforms, glGetProgramResource, glGetProgramResourceName

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