--- title: 'WebGLRenderingContext.uniform[1234][fi][v]()' slug: Web/API/WebGLRenderingContext/uniform translation_of: Web/API/WebGLRenderingContext/uniform ---
{{APIRef("WebGL")}}

WebGL API 的WebGLRenderingContext.uniform[1234][fi][v]() 方法指定了uniform 变量的值。所有在ShaderProgram对象中定义的,且激活的uniform变量在ShaderProgram 执行link成功后被初始化为0。它们将保留通过调用此方法分配给它们的值,直到再次将其初始化为0时,也就是ShaderProgram对象上发生下一次成功的link操作为止。

这里描述的许多函数都扩展了 WebGL 2 接口, 可在以下地址查看 {{domxref("WebGL2RenderingContext.uniform","WebGL2RenderingContext.uniform[1234][uif][v]()")}}.

语法

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);

参数

location
 {{domxref("WebGLUniformLocation")}} 对象包含了将要修改的uniform 属性位置.
value, v0, v1, v2, v3
新的值将被用于uniform 变量. 可能的类型:

返回值

None.

示例

gl.uniform1f(u_alpha, 0.8);

说明

Specification Status Comment
{{SpecName('WebGL', "#5.14.10", "uniform")}} {{Spec2('WebGL')}} 初始定义
{{SpecName('OpenGL ES 2.0', "glUniform.xml", "glUniform")}} {{Spec2('OpenGL ES 2.0')}} OpenGL API的主页.

浏览器兼容性

{{Compat("api.WebGLRenderingContext.uniform1f")}}

另见