GLGETUNIFORM(3G) OpenGL Manual GLGETUNIFORM(3G)
glGetUniformfv, glGetUniformiv - Returns the value of a uniform variable
void glGetUniformfv(GLuint program, GLint location, GLfloat *params);
void glGetUniformiv(GLuint program, GLint location, GLint *params);
void glGetUniformuiv(GLuint program, GLint location, GLuint *params);
void glGetUniformdv(GLuint program, GLint location, GLdouble *params);
Specifies the program object to be queried.
Specifies the location of the uniform variable to be queried.
Returns the value of the specified uniform variable.
glGetUniform returns in params the value(s) of the specified uniform variable. The type of
the uniform variable specified by location determines the number of values returned. If
the uniform variable is defined in the shader as a boolean, int, or float, a single value
will be returned. If it is defined as a vec2, ivec2, or bvec2, two values will be
returned. If it is defined as a vec3, ivec3, or bvec3, three values will be returned, and
so on. To query values stored in uniform variables declared as arrays, call glGetUniform
for each element of the array. To query values stored in uniform variables declared as
structures, call glGetUniform for each field in the structure. The values for uniform
variables declared as a matrix will be returned in column major order.
The locations assigned to uniform variables are not known until the program object is
linked. After linking has occurred, the command glGetUniformLocation() can be used to
obtain the location of a uniform variable. This location value can then be passed to
glGetUniform in order to query the current value of the uniform variable. After a program
object has been linked successfully, the index values for uniform variables remain fixed
until the next link command occurs. The uniform variable values can only be queried after
a link if the link was successful.
If an error is generated, no change is made to the contents of params.
GL_INVALID_VALUE is generated if program is not a value generated by OpenGL.
GL_INVALID_OPERATION is generated if program is not a program object.
GL_INVALID_OPERATION is generated if program has not been successfully linked.
GL_INVALID_OPERATION is generated if location does not correspond to a valid uniform
variable location for the specified program object.
glGetActiveUniform() with arguments program and the index of an active uniform variable
glGetProgram() with arguments program and GL_ACTIVE_UNIFORMS or
glGetUniformLocation() with arguments program and the name of a uniform variable
glCreateProgram(), glLinkProgram(), glUniform()
Copyright (C) 2003-2005 3Dlabs Inc. Ltd. This material may be distributed subject to the
terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999.
opengl.org 06/10/2014 GLGETUNIFORM(3G)