--- title: WebGLRenderingContext.getUniform() slug: Web/API/WebGLRenderingContext/getUniform translation_of: Web/API/WebGLRenderingContext/getUniform ---
WebGLRenderingContext.getUniform()
方法返回指定位置的全局变量的值。any gl.getUniform(program, location);
返回的类型取决于全局变量的类型:
变量类型(着色器内) | 返回值类型 |
---|---|
在WebGL 1中支持的 | |
boolean |
{{domxref("GLBoolean")}} |
int |
{{domxref("GLint")}} |
float |
{{domxref("GLfloat")}} |
vec2 |
{{jsxref("Float32Array")}} (with 2 elements) |
ivec2 |
{{jsxref("Int32Array")}} (with 2 elements) |
bvec2 |
{{jsxref("Array")}} of {{domxref("GLBoolean")}} (with 2 elements) |
vec3 |
{{jsxref("Float32Array")}} (with 3 elements) |
ivec3 |
{{jsxref("Int32Array")}} (with 3 elements) |
bvec3 |
{{jsxref("Array")}} of {{domxref("GLBoolean")}} (with 3 elements) |
vec4 |
{{jsxref("Float32Array")}} (with 4 elements) |
ivec4 |
{{jsxref("Int32Array")}} (with 4 elements) |
bvec4 |
{{jsxref("Array")}} of {{domxref("GLBoolean")}} (with 4 elements) |
mat2 |
{{jsxref("Float32Array")}} (with 4 elements) |
mat3 |
{{jsxref("Float32Array")}} (with 9 elements) |
mat4 |
{{jsxref("Float32Array")}} (with 16 elements) |
sampler2D |
{{domxref("GLint")}} |
samplerCube |
{{domxref("GLint")}} |
在WebGL 2中新增支持的 | |
uint |
{{domxref("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 | {{domxref("GLint")}} |
var loc = gl.getUniformLocation(program, 'u_foobar'); gl.getUniform(program, loc); //code in vertex-shader //... //uniform mat4 uNormalMatrix; //... //gl.getUniform(program,gl.getUniformLocation(program,"uNormalMatrix")) //>Float32Array(16) [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
规范 | 状态 | 注解 |
---|---|---|
{{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")}}