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.uniform1uiv(location, value);

void gl.uniform2ui(location, v0, v1);
void gl.uniform2uiv(location, value);

void gl.uniform3ui(location, v0, v1, v2);
void gl.uniform3uiv(location, value);

void gl.uniform4ui(location, v0, v1, v2, v3);
void gl.uniform4uiv(location, value);

void gl.uniform1i(location, v0);
void gl.uniform2i(location, v0, v1);
void gl.uniform3i(location, v0, v1, v2);
void gl.uniform4i(location, v0, v1, v2, v3);

void gl.uniform1f(location, v0);
void gl.uniform2f(location, v0, v1);
void gl.uniform3f(location, v0, v1, v2);
void gl.uniform4f(location, v0, v1, v2, v3);

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.uniform1uiNo support1No support51.0No supportNo supportNo supportNo support
WebGL2RenderingContext.uniform1uivNo support1No support51.0No supportNo supportNo supportNo support
WebGL2RenderingContext.uniform2uiNo support1No support51.0No supportNo supportNo supportNo support
WebGL2RenderingContext.uniform2uivNo support1No support51.0No supportNo supportNo supportNo support
WebGL2RenderingContext.uniform3uiNo support1No support51.0No supportNo supportNo supportNo support
WebGL2RenderingContext.uniform3uivNo support1No support51.0No supportNo supportNo supportNo support
WebGL2RenderingContext.uniform4uiNo support1No support51.0No supportNo supportNo supportNo support
WebGL2RenderingContext.uniform4uivNo support1No support51.0No supportNo supportNo supportNo support
WebGL2RenderingContext.uniform1iNo support1No support51.0No supportNo supportNo supportNo support
WebGL2RenderingContext.uniform2iNo support1No support51.0No supportNo supportNo supportNo support
WebGL2RenderingContext.uniform3iNo support1No support51.0No supportNo supportNo supportNo support
WebGL2RenderingContext.uniform4iNo support1No support51.0No supportNo supportNo supportNo support
WebGL2RenderingContext.uniform1fNo support1No support51.0No supportNo supportNo supportNo support
WebGL2RenderingContext.uniform2fNo support1No support51.0No supportNo supportNo supportNo support
WebGL2RenderingContext.uniform3fNo support1No support51.0No supportNo supportNo supportNo support
WebGL2RenderingContext.uniform4fNo support1No support51.0No supportNo supportNo 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

1. To use an experimental implementation of WebGL 2 in Chrome, you have to start Chrome with the runtime flag --enable-unsafe-es3-apis.

See also

Document Tags and Contributors

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