glGetUniformiv

glGetnUniformdv: man4/glGetUniform.xml

glGetUniform and glGetnUniform return 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 or glGetnUniform 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. The only difference between glGetUniform and glGetnUniform is that glGetnUniform will generate an error if size of the params buffer,as described by bufSize, is not large enough to hold the result data.

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

@OpenGL_Version(OGLIntroducedIn.V2P0)
fn_glGetUniformiv glGetUniformiv;

See Also

glCreateProgram, glLinkProgram, glUniform

Meta