WebGL2RenderingContext.uniform[1234][uif][v]()

This is an experimental technology
Because this technology's specification has not stabilized, check the compatibility table for usage in various browsers. Also note that the syntax and behavior of an experimental technology is subject to change in future versions of browsers as the specification changes.

The WebGL2RenderingContext.uniform[1234][uif][v]() methods of the WebGL API specify values of uniform variables.

ui stands for unsigned integer, i for integer, f for float, and v for vector.
Not all combination are valid: ui can be combined with v, but not i or f. See the syntax table below.

Syntax

void gl.uniform1ui(location, v0); 
void gl.uniform2ui(location, v0, v1); 
void gl.uniform3ui(location, v0, v1, v2); 
void gl.uniform4ui(location, v0, v1, v2, v3); 
void gl.uniform1fv(location, data, optional srcOffset, optional srcLength); 
void gl.uniform2fv(location, data, optional srcOffset, optional srcLength); 
void gl.uniform3fv(location, data, optional srcOffset, optional srcLength);
void gl.uniform4fv(location, data, optional srcOffset, optional srcLength); 
void gl.uniform1iv(location, data, optional srcOffset, optional srcLength); 
void gl.uniform2iv(location, data, optional srcOffset, optional srcLength);
void gl.uniform3iv(location, data, optional srcOffset, optional srcLength); 
void gl.uniform4iv(location, data, optional srcOffset, optional srcLength); 
void gl.uniform1uiv(location, data, optional srcOffset, optional srcLength);
void gl.uniform2uiv(location, data, optional srcOffset, optional srcLength);
void gl.uniform3uiv(location, data, optional srcOffset, optional srcLength); 
void gl.uniform4uiv(location, data, optional srcOffset, optional srcLength);

Parameters

location
A WebGLUniformLocation object containing the location of the uniform attribute to modify.
value, v0, v1, v2, v3
A new value to be used for the uniform variable. Possible types:
  • A Number for unsigned integer values (methods with ui), for integer values (methods with i), or for floats (methods with f).
  • A Uint32Array for unsigned integer vector methods (methods with uiv).

Return value

None.

Specifications

Specification Status Comment
WebGL 2.0
The definition of 'uniform' in that specification.
Editor's Draft Initial definition for WebGL.
OpenGL ES 3.0
The definition of 'glUniform' in that specification.
Standard Man page of the (similar) OpenGL API.

Browser compatibility

Feature Chrome Edge Firefox Internet Explorer Opera Safari Servo
WebGL2RenderingContext.uniform1ui56No support51.0No support43No supportNo support
WebGL2RenderingContext.uniform1uiv56No support51.0No support43No supportNo support
WebGL2RenderingContext.uniform2ui56No support51.0No support43No supportNo support
WebGL2RenderingContext.uniform2uiv56No support51.0No support43No supportNo support
WebGL2RenderingContext.uniform3ui56No support51.0No support43No supportNo support
WebGL2RenderingContext.uniform3uiv56No support51.0No support43No supportNo support
WebGL2RenderingContext.uniform4ui56No support51.0No support43No supportNo support
WebGL2RenderingContext.uniform4uiv56No support51.0No support43No supportNo support
WebGL2RenderingContext.uniform1i56No support51.0No support43No supportNo support
WebGL2RenderingContext.uniform2i56No support51.0No support43No supportNo support
WebGL2RenderingContext.uniform3i56No support51.0No support43No supportNo support
WebGL2RenderingContext.uniform4i56No support51.0No support43No supportNo support
WebGL2RenderingContext.uniform1f56No support51.0No support43No supportNo support
WebGL2RenderingContext.uniform2f56No support51.0No support43No supportNo support
WebGL2RenderingContext.uniform3f56No support51.0No support43No supportNo support
WebGL2RenderingContext.uniform4f56No support51.0No support43No supportNo support
Feature Android Chrome for Android Edge Mobile Firefox for Android IE Mobile Opera Mobile Safari Mobile
WebGL2RenderingContext.uniform1uiNo supportNo supportNo supportNo supportNo supportNo supportNo support
WebGL2RenderingContext.uniform1uivNo supportNo supportNo supportNo supportNo supportNo supportNo support
WebGL2RenderingContext.uniform2uiNo supportNo supportNo supportNo supportNo supportNo supportNo support
WebGL2RenderingContext.uniform2uivNo supportNo supportNo supportNo supportNo supportNo supportNo support
WebGL2RenderingContext.uniform3uiNo supportNo supportNo supportNo supportNo supportNo supportNo support
WebGL2RenderingContext.uniform3uivNo supportNo supportNo supportNo supportNo supportNo supportNo support
WebGL2RenderingContext.uniform4uiNo supportNo supportNo supportNo supportNo supportNo supportNo support
WebGL2RenderingContext.uniform4uivNo supportNo supportNo supportNo supportNo supportNo supportNo support
WebGL2RenderingContext.uniform1iNo supportNo supportNo supportNo supportNo supportNo supportNo support
WebGL2RenderingContext.uniform2iNo supportNo supportNo supportNo supportNo supportNo supportNo support
WebGL2RenderingContext.uniform3iNo supportNo supportNo supportNo supportNo supportNo supportNo support
WebGL2RenderingContext.uniform4iNo supportNo supportNo supportNo supportNo supportNo supportNo support
WebGL2RenderingContext.uniform1fNo supportNo supportNo supportNo supportNo supportNo supportNo support
WebGL2RenderingContext.uniform2fNo supportNo supportNo supportNo supportNo supportNo supportNo support
WebGL2RenderingContext.uniform3fNo supportNo supportNo supportNo supportNo supportNo supportNo support
WebGL2RenderingContext.uniform4fNo supportNo supportNo supportNo supportNo supportNo supportNo support

See also

Document Tags and Contributors

 Contributors to this page: jpmedley, fscholz, teoli
 Last updated by: jpmedley,