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.
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