首页 > 解决方案 > 使用 gl.uniform1fv 上传的数组的最大大小是多少?

问题描述

上述调用有限制吗?WebGL 1.0 与 WebGL 2.0 的限制是否不同?如果没有限制,是否有理由将其与纹理用于输入数据?

谢谢

标签: webglwebgl2

解决方案


对于顶点着色器,最大尺寸由gl.MAX_VERTEX_UNIFORM_VECTORS参数指定。WebGL 1的最小值是128WebGL 2的最小值是256

gl.getParameter(gl.MAX_VERTEX_UNIFORM_VECTORS);

对于片段着色器,最大尺寸由gl.MAX_FRAGMENT_UNIFORM_VECTORS参数指定。WebGL 1的最小值是16WebGL 2的最小值是224

gl.getParameter(gl.MAX_FRAGMENT_UNIFORM_VECTORS);

您可以在Webgl 报告站点上的浏览器中快速检查这些限制。

注意:其他统一变量会减少该限制,例如mat4着色器中的统一算作 4 个统一。


推荐阅读