glGetUniform — 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 ); | 
programSpecifies the program object to be queried.
locationSpecifies the location of the uniform variable to be queried.
paramsReturns 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.
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
    GL_ACTIVE_UNIFORM_MAX_LENGTH
glGetUniformLocation
    with arguments program and the name of a
    uniform variable
Copyright © 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. http://opencontent.org/openpub/.