WebGLRenderingContext.getUniform()

此页面上有脚本错误。虽然这条信息是写给网站编辑的,但您也可以在下面查看部分内容。

这篇翻译不完整。请帮忙从英语翻译这篇文章

WebGLRenderingContext.getUniform()方法返回指定位置的统一变量的值。

 

句法

any gl.getUniform(program, location);

参数

代码
WebGLProgram 包含统一的属性
本地的
包含要获取的统一属性位置的WebGLUniformLocation对象。

返回值

返回的类型取决于统一类型:

Uniform type Returned type
WebGL 1 only
boolean {{("GLBoolean")}}
int {{("GLint")}}
float {{("GLfloat")}}
vec2 {{jsxref("Float32Array")}} (with 2 elements)
ivec2 {{jsxref("Int32Array")}} (with 2 elements)
bvec2 {{jsxref("Array")}} of {{("GLBoolean")}} (with 2 elements)
vec3 {{jsxref("Float32Array")}} (with 3 elements)
ivec3 {{jsxref("Int32Array")}} (with 3 elements)
bvec3 {{jsxref("Array")}} of {{("GLBoolean")}} (with 3 elements)
vec4 {{jsxref("Float32Array")}} (with 4 elements)
ivec4 {{jsxref("Int32Array")}} (with 4 elements)
bvec4 {{jsxref("Array")}} of {{("GLBoolean")}} (with 4 elements)
mat2 {{jsxref("Float32Array")}} (with 4 elements)
mat3 {{jsxref("Float32Array")}} (with 9 elements)
mat4 {{jsxref("Float32Array")}} (with 16 elements)
sampler2D {{("GLint")}}
samplerCube {{("GLint")}}
Additionally available in WebGL 2
uint {{("GLuint")}}
uvec2 {{jsxref("Uint32Array")}} (with 2 elements)
uvec3 {{jsxref("Uint32Array")}} (with 3 elements)
uvec4 {{jsxref("Uint32Array")}} (with 4 elements)
mat2x3 {{jsxref("Float32Array")}} (with 6 elements)
mat2x4 {{jsxref("Float32Array")}} (with 8 elements)
mat3x2 {{jsxref("Float32Array")}} (with 6 elements)
mat3x4 {{jsxref("Float32Array")}} (with 12 elements)
mat4x2 {{jsxref("Float32Array")}} (with 8 elements)
mat4x3 {{jsxref("Float32Array")}} (with 12 elements)
any sampler type {{("GLint")}}

示例

var loc = gl.getUniformLocation(program, 'u_foobar');
gl.getUniform(program, loc);

规范

规范 状态 注解
{{SpecName('WebGL', "#5.14.10", "getUniform")}} {{Spec2('WebGL')}} Initial definition for WebGL.
{{SpecName('OpenGL ES 2.0', "glGetUniform.xml", "glGetUniform")}} {{Spec2('OpenGL ES 2.0')}} Man page of the (similar) OpenGL ES 2 API.
{{SpecName('WebGL2', "#3.7.8", "getUniform")}} {{Spec2('WebGL2')}} Updated definition for WebGL.
{{SpecName('OpenGL ES 3.0', "glGetUniform.xhtml", "glGetUniform")}} {{Spec2('OpenGL ES 3.0')}} Man page of the (similar) OpenGL ES 3 API.

浏览器兼容性

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

其他

  • WebGLUniformLocation
  • WebGLRenderingContext.getActiveUniform()

文档标签和贡献者

此页面的贡献者: eduwc
最后编辑者: eduwc,