Web/API/WebGLRenderingContext/uniform

From Get docs


The WebGLRenderingContext.uniform[1234][fi][v]() methods of the WebGL API specify values of uniform variables. All active uniform variables defined in a program object are initialized to 0 when the program object is linked successfully. They retain the values assigned to them by a call to this method until the next successful link operation occurs on the program object, when they are once again initialized to 0.

Many of the functions described here have expanded WebGL 2 interfaces, which can be found under WebGL2RenderingContext.uniform[1234][uif][v]().


Syntax

void gl.uniform1f(location, v0);
void gl.uniform1fv(location, value);
void gl.uniform1i(location, v0);
void gl.uniform1iv(location, value);

void gl.uniform2f(location, v0, v1);
void gl.uniform2fv(location, value);
void gl.uniform2i(location, v0, v1);
void gl.uniform2iv(location, value);

void gl.uniform3f(location, v0, v1, v2);
void gl.uniform3fv(location, value);
void gl.uniform3i(location, v0, v1, v2);
void gl.uniform3iv(location, value);

void gl.uniform4f(location, v0, v1, v2, v3);
void gl.uniform4fv(location, value);
void gl.uniform4i(location, v0, v1, v2, v3);
void gl.uniform4iv(location, value);

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 floating point Number for floating point values (methods with "f").
  • A sequence of floating point numbers (for example a Float32Array or an Array of numbers) for floating point vector methods (methods with "fv").
  • An integer Number for integer values (methods with "i").
  • An Int32Array for integer vector methods (methods with "iv").

Return value

None.

Examples

gl.uniform1f(u_alpha, 0.8);

Specifications

Specification Status Comment
WebGL 1.0The definition of 'uniform' in that specification. Recommendation Initial definition.
OpenGL ES 2.0The definition of 'glUniform' in that specification. Standard Main page of the OpenGL 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.

Update compatibility data on GitHub

Desktop Mobile
Chrome Edge Firefox Internet Explorer Opera Safari Android webview Chrome for Android Firefox for Android Opera for Android Safari on iOS Samsung Internet
uniform1f Chrome

Full support 9

Edge

Full support 12

Firefox

Full support 4

IE

Full support 11

Opera

Full support 12

Safari

Full support 5.1

WebView Android

Full support Yes

Chrome Android

Full support 25

Firefox Android

Full support Yes

Opera Android

Full support 12

Safari iOS

Full support 8

Samsung Internet Android

Full support 1.5

Legend

Full support  
Full support


See also