webgl - 使用 gl.uniform1fv 上传的数组的最大大小是多少?
问题描述
上述调用有限制吗?WebGL 1.0 与 WebGL 2.0 的限制是否不同?如果没有限制,是否有理由将其与纹理用于输入数据?
谢谢
解决方案
对于顶点着色器,最大尺寸由gl.MAX_VERTEX_UNIFORM_VECTORS
参数指定。WebGL 1的最小值是128。WebGL 2的最小值是256。
gl.getParameter(gl.MAX_VERTEX_UNIFORM_VECTORS);
对于片段着色器,最大尺寸由gl.MAX_FRAGMENT_UNIFORM_VECTORS
参数指定。WebGL 1的最小值是16。WebGL 2的最小值是224。
gl.getParameter(gl.MAX_FRAGMENT_UNIFORM_VECTORS);
您可以在Webgl 报告站点上的浏览器中快速检查这些限制。
注意:其他统一变量会减少该限制,例如mat4
着色器中的统一算作 4 个统一。
推荐阅读
- laravel - 在 Laravel 中批量创建模型的最佳方法?
- flutter - 在 Flutter 2.5 和 Riverpod 中使用 ObjectBox / Instantiate store 和 box
- sum - QLIK Sense(与条件相加)
- command-line - 如何停止队列的无限循环:laravel中的工作命令?
- ios - 从 Visual Studio for Mac 在 M1 Mac 上调试 iOS 应用程序?
- node.js - 将未公开的 NodeJS 应用程序订阅到 SNS
- excel - 来自两个单独单元格的交叉引用文本并在相邻单元格中显示匹配
- php - 正则表达式从字符串中分离出内联样式的特定部分
- typescript - GraphQL Codegen – 如何使 Partial 成为解析器的返回类型,但保留所需的参数?
- azure-devops - Azure DevOps 管道根目录