JavaScript EditorFree JavaScript Editor     Ajax Editor 



Main Page
Previous Page
Next Page

glGetUniform

Name

glGetUniformfv, glGetUniformiv Return the value of a uniform variable

C Specification

void glGetUniformfv(GLuint program,
                    GLint location,
                    GLfloat *params)

void glGetUniformiv(GLuint program,
                    GLint location,
                    GLint *params)

Parameters

program

Specifies the program object to be queried.

location

Specifies the location of the uniform variable to be queried.

params

Returns the value of the specified uniform variable.


Description

glGetUniform returns in params the value or values 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 is returned. If it is defined as a vec2, ivec2, or bvec2, two values are returned. If it is defined as a vec3, ivec3, or bvec3, three values are 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 are 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 obtains the location of a uniform variable. This location value can then be passed to glGetUniform 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 be queried only after a link if the link was successful.

Notes

glGetUniform is available only if the GL version is 2.0 or greater.

If an error is generated, no change is made to the contents of params.

Errors

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.

GL_INVALID_OPERATION is generated if glGetUniform is executed between the execution of glBegin and the corresponding execution of glEnd.

Associated Gets

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

glsProgram

See Also

glCreateProgram, glLinkProgram, glUniform


Previous Page
Next Page




JavaScript EditorAjax Editor     JavaScript Editor