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.
Feature | Chrome | Firefox | Edge | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|---|
Basic Support | 9 | 4.0 | 12 | 11 | 12 | 5.1 |
WebGL2 | 56 | 51.0 | (No) | (No) | 43 | (No) |
Feature | Android | Chrome for Android | Edge mobile | Firefox for Android | IE mobile | Opera Android | iOS Safari |
---|---|---|---|---|---|---|---|
Basic Support | (Yes) | 25 | (Yes) | (Yes) | 11 | 12 | 8.1 |
WebGL2 | (No) | (No) | (No) | 51.0 | (No) | (No) | (No) |