WebGL2RenderingContext: uniform[1234][uif][v]() 方法
注意:此功能在 Web Workers 中可用。
WebGL2RenderingContext.uniform[1234][uif][v]() 方法是 WebGL API 的一部分,用于指定 uniform 变量的值。
这些方法的名称构成方式如下:
- uniform 变量中组件的数量(1、2、3 或 4)。
- uniform 变量的类型(
i表示整数,f表示浮点数,ui表示无符号整数)。 - 对于矢量类型,末尾是否有矢量(
v)后缀。
它们可以通过正则表达式 uniform[1234](u?i|f)v? 进行匹配。
这些签名中的大多数都继承自 WebGL 1 API。WebGL 2 添加了无符号整数版本,以及矢量方法中额外的 srcOffset 和 srcLength 参数。
语法
js
uniform1ui(location, v0)
uniform2ui(location, v0, v1)
uniform3ui(location, v0, v1, v2)
uniform4ui(location, v0, v1, v2, v3)
uniform1fv(location, data)
uniform1fv(location, data, srcOffset)
uniform1fv(location, data, srcOffset, srcLength)
uniform2fv(location, data)
uniform2fv(location, data, srcOffset)
uniform2fv(location, data, srcOffset, srcLength)
uniform3fv(location, data)
uniform3fv(location, data, srcOffset)
uniform3fv(location, data, srcOffset, srcLength)
uniform4fv(location, data)
uniform4fv(location, data, srcOffset)
uniform4fv(location, data, srcOffset, srcLength)
uniform1iv(location, data)
uniform1iv(location, data, srcOffset)
uniform1iv(location, data, srcOffset, srcLength)
uniform2iv(location, data)
uniform2iv(location, data, srcOffset)
uniform2iv(location, data, srcOffset, srcLength)
uniform3iv(location, data)
uniform3iv(location, data, srcOffset)
uniform3iv(location, data, srcOffset, srcLength)
uniform4iv(location, data)
uniform4iv(location, data, srcOffset)
uniform4iv(location, data, srcOffset, srcLength)
uniform1uiv(location, data)
uniform1uiv(location, data, srcOffset)
uniform1uiv(location, data, srcOffset, srcLength)
uniform2uiv(location, data)
uniform2uiv(location, data, srcOffset)
uniform2uiv(location, data, srcOffset, srcLength)
uniform3uiv(location, data)
uniform3uiv(location, data, srcOffset)
uniform3uiv(location, data, srcOffset, srcLength)
uniform4uiv(location, data)
uniform4uiv(location, data, srcOffset)
uniform4uiv(location, data, srcOffset, srcLength)
参数
location-
一个包含要修改的 uniform 属性位置的
WebGLUniformLocation对象。 data,v0,v1,v2,v3-
将用于 uniform 变量的新值。可能的类型:
- 对于无符号整数值(带
ui的方法)、整数值(带i的方法)或浮点数(带f的方法),使用Number。 - 对于无符号整数矢量方法(带
uiv的方法),使用Uint32Array(或无符号整数数字的Array)。 - 对于整数矢量方法(带
iv的方法),使用Int32Array(或整数数字的Array)。 - 对于浮点数矢量方法(带
fv的方法),使用Float32Array(或数字的Array)。
- 对于无符号整数值(带
srcOffset可选-
一个非负整数,指定要使用的
data数组中的第一个元素的索引。默认为0。 srcLength可选-
一个非负整数,指定要使用的
data数组中的元素数量。默认为0,表示data.length - srcOffset。srcOffset + srcLength必须小于或等于data.length。
返回值
无(undefined)。
规范
| 规范 |
|---|
| WebGL 2.0 规范 # 3.7.8 |
浏览器兼容性
加载中…