WebGLRenderingContext.getUniform() - Web API 接口参考 编辑

WebGL APIWebGLRenderingContext.getUniform() 方法返回指定位置的全局变量的值。

语法

any gl.getUniform(program, location);

参数

program
包含全局变量的一个WebGLProgram
location
包含要获取的全局变量位置的 WebGLUniformLocation 对象。

返回值

返回的类型取决于全局变量的类型:

变量类型(着色器内)返回值类型
在WebGL 1中支持的
booleanGLBoolean
intGLint
floatGLfloat
vec2Float32Array (with 2 elements)
ivec2Int32Array (with 2 elements)
bvec2Array of GLBoolean (with 2 elements)
vec3Float32Array (with 3 elements)
ivec3Int32Array (with 3 elements)
bvec3Array of GLBoolean (with 3 elements)
vec4Float32Array (with 4 elements)
ivec4Int32Array (with 4 elements)
bvec4Array of GLBoolean (with 4 elements)
mat2Float32Array (with 4 elements)
mat3Float32Array (with 9 elements)
mat4Float32Array (with 16 elements)
sampler2DGLint
samplerCubeGLint
在WebGL 2中新增支持的
uintGLuint
uvec2Uint32Array (with 2 elements)
uvec3Uint32Array (with 3 elements)
uvec4Uint32Array (with 4 elements)
mat2x3Float32Array (with 6 elements)
mat2x4Float32Array (with 8 elements)
mat3x2Float32Array (with 6 elements)
mat3x4Float32Array (with 12 elements)
mat4x2Float32Array (with 8 elements)
mat4x3Float32Array (with 12 elements)
any sampler typeGLint

示例

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
RecommendationInitial definition for WebGL.
OpenGL ES 2.0
glGetUniform
StandardMan page of the (similar) OpenGL ES 2 API.
WebGL 2.0
getUniform
Editor's DraftUpdated definition for WebGL.
OpenGL ES 3.0
glGetUniform
StandardMan page of the (similar) OpenGL ES 3 API.

浏览器兼容性

BCD tables only load in the browser

相关链接

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据

词条统计

浏览:68 次

字数:8619

最后编辑:7年前

编辑次数:0 次

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文