WebGLRenderingContext: getUniform() method
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
Note: This feature is available in Web Workers.
The WebGLRenderingContext.getUniform()
method of the WebGL API returns the value of a uniform
variable at a given location.
Syntax
js
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
js
const loc = gl.getUniformLocation(program, "u_foobar");
gl.getUniform(program, loc);
Specifications
Specification |
---|
WebGL Specification # 5.14.10 |
WebGL 2.0 Specification # 3.7.8 |
Browser compatibility
BCD tables only load in the browser