The WebGLRenderingContext.getUniform()
method of the WebGL API returns the value of a uniform variable at a given location.
Syntax
any gl.getUniform(program, location);
Parameters
- program
- A
WebGLProgram
containing the uniform attribute. - location
- A
WebGLUniformLocation
object containing the location of the uniform attribute to get.
Return value
The returned type depends on the uniform type:
Uniform type | Returned type |
---|---|
WebGL 1 only | |
boolean |
GLBoolean |
int |
GLint |
float |
GLfloat |
vec2 |
Float32Array (with 2 elements) |
ivec2 |
Int32Array (with 2 elements) |
bvec2 |
Array of GLBoolean (with 2 elements) |
vec3 |
Float32Array (with 3 elements) |
ivec3 |
Int32Array (with 3 elements) |
bvec3 |
Array of GLBoolean (with 3 elements) |
vec4 |
Float32Array (with 4 elements) |
ivec4 |
Int32Array (with 4 elements) |
bvec4 |
Array of GLBoolean (with 4 elements) |
mat2 |
Float32Array (with 4 elements) |
mat3 |
Float32Array (with 9 elements) |
mat4 |
Float32Array (with 16 elements) |
sampler2D |
GLint |
samplerCube |
GLint |
Additionally available in WebGL 2 | |
uint |
GLuint |
uvec2 |
Uint32Array (with 2 elements) |
uvec3 |
Uint32Array (with 3 elements) |
uvec4 |
Uint32Array (with 4 elements) |
mat2x3 |
Float32Array (with 6 elements) |
mat2x4 |
Float32Array (with 8 elements) |
mat3x2 |
Float32Array (with 6 elements) |
mat3x4 |
Float32Array (with 12 elements) |
mat4x2 |
Float32Array (with 8 elements) |
mat4x3 |
Float32Array (with 12 elements) |
any sampler type | GLint |
Examples
var loc = gl.getUniformLocation(program, 'u_foobar'); gl.getUniform(program, loc);
Specifications
Specification | Status | Comment |
---|---|---|
WebGL 1.0 The definition of 'getUniform' in that specification. |
Recommendation | Initial definition for WebGL. |
OpenGL ES 2.0 The definition of 'glGetUniform' in that specification. |
Standard | Man page of the (similar) OpenGL ES 2 API. |
WebGL 2.0 The definition of 'getUniform' in that specification. |
Editor's Draft | Updated definition for WebGL. |
OpenGL ES 3.0 The definition of 'glGetUniform' in that specification. |
Standard | Man page of the (similar) OpenGL ES 3 API. |
Browser compatibility
The compatibility table in this page is generated from structured data. If you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and send us a pull request.
Desktop | Mobile | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
getUniform | Chrome Full support 9 | Edge Full support 12 | Firefox Full support 4 | IE Full support 11 | Opera Full support 12 | Safari Full support 5.1 | WebView Android Full support Yes | Chrome Android Full support 25 | Firefox Android Full support Yes | Opera Android Full support 12 | Safari iOS Full support 8 | Samsung Internet Android Full support 1.5 |
WebGL2 | Chrome Full support 56 | Edge Full support 79 | Firefox Full support 51 | IE No support No | Opera Full support 43 | Safari No support No | WebView Android Full support 58 | Chrome Android Full support 58 | Firefox Android Full support 51 | Opera Android Full support 43 | Safari iOS No support No | Samsung Internet Android Full support 7.0 |
Legend
- Full support
- Full support
- No support
- No support