WebGLRenderingContext:getUniform() 方法

基线 广泛可用

此功能已得到良好建立,并在许多设备和浏览器版本上都能正常工作。它自以下时间以来在浏览器中可用: 2015 年 7 月.

WebGLRenderingContext.getUniform() 方法是 WebGL API 的一部分,用于返回给定位置的统一变量的值。

语法

js
getUniform(program, location)

参数

program

包含统一属性的 WebGLProgram

location

包含要获取的统一属性位置的 WebGLUniformLocation 对象。

返回值

返回类型取决于统一类型

统一类型 返回类型
仅限 WebGL 1
布尔值 GLBoolean
整数 GLint
浮点数 GLfloat
vec2 Float32Array(包含 2 个元素)
ivec2 Int32Array(包含 2 个元素)
bvec2 Array of GLBoolean(包含 2 个元素)
vec3 Float32Array(包含 3 个元素)
ivec3 Int32Array(包含 3 个元素)
bvec3 Array of GLBoolean(包含 3 个元素)
vec4 Float32Array(包含 4 个元素)
ivec4 Int32Array(包含 4 个元素)
bvec4 Array of GLBoolean(包含 4 个元素)
mat2 Float32Array(包含 4 个元素)
mat3 Float32Array(包含 9 个元素)
mat4 Float32Array(包含 16 个元素)
sampler2D GLint
samplerCube GLint
WebGL 2 中还提供以下内容
无符号整数 GLuint
uvec2 Uint32Array(包含 2 个元素)
uvec3 Uint32Array(包含 3 个元素)
uvec4 Uint32Array(包含 4 个元素)
mat2x3 Float32Array(包含 6 个元素)
mat2x4 Float32Array(包含 8 个元素)
mat3x2 Float32Array(包含 6 个元素)
mat3x4 Float32Array(包含 12 个元素)
mat4x2 Float32Array(包含 8 个元素)
mat4x3 Float32Array(包含 12 个元素)
任何采样器类型 GLint

示例

js
const loc = gl.getUniformLocation(program, "u_foobar");
gl.getUniform(program, loc);

规范

规范
WebGL 规范
# 5.14.10
WebGL 2.0 规范
# 3.7.8

浏览器兼容性

BCD 表格仅在启用 JavaScript 的浏览器中加载。

另请参阅