WebGLRenderingContext.getUniform() - Web API 接口参考 编辑
WebGL API 的
WebGLRenderingContext.getUniform()
方法返回指定位置的全局变量的值。语法
any gl.getUniform(program, location);
参数
- program
- 包含全局变量的一个
WebGLProgram
。 - location
- 包含要获取的全局变量位置的
WebGLUniformLocation
对象。
返回值
返回的类型取决于全局变量的类型:
变量类型(着色器内) | 返回值类型 |
---|---|
在WebGL 1中支持的 | |
boolean | GLBoolean |
int | GLint |
float | GLfloat |
vec2 | Float32Array (with 2 elements) |
ivec2 | Int32Array (with 2 elements) |
bvec2 | Array of GLBoolean (with 2 elements) |
vec3 | Float32Array (with 3 elements) |
ivec3 | Int32Array (with 3 elements) |
bvec3 | Array of GLBoolean (with 3 elements) |
vec4 | Float32Array (with 4 elements) |
ivec4 | Int32Array (with 4 elements) |
bvec4 | Array of GLBoolean (with 4 elements) |
mat2 | Float32Array (with 4 elements) |
mat3 | Float32Array (with 9 elements) |
mat4 | Float32Array (with 16 elements) |
sampler2D | GLint |
samplerCube | GLint |
在WebGL 2中新增支持的 | |
uint | GLuint |
uvec2 | Uint32Array (with 2 elements) |
uvec3 | Uint32Array (with 3 elements) |
uvec4 | Uint32Array (with 4 elements) |
mat2x3 | Float32Array (with 6 elements) |
mat2x4 | Float32Array (with 8 elements) |
mat3x2 | Float32Array (with 6 elements) |
mat3x4 | Float32Array (with 12 elements) |
mat4x2 | Float32Array (with 8 elements) |
mat4x3 | Float32Array (with 12 elements) |
any sampler type | 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]
规范
规范 | 状态 | 注解 |
---|---|---|
WebGL 1.0 getUniform | Recommendation | Initial definition for WebGL. |
OpenGL ES 2.0 glGetUniform | Standard | Man page of the (similar) OpenGL ES 2 API. |
WebGL 2.0 getUniform | Editor's Draft | Updated definition for WebGL. |
OpenGL ES 3.0 glGetUniform | Standard | Man page of the (similar) OpenGL ES 3 API. |
浏览器兼容性
BCD tables only load in the browser
此页面中的兼容性表格由结构化数据生成。如果您想为数据做出贡献,请查看https://github.com/mdn/browser-compat-data并向我们发送获取请求。
相关链接
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论