我想将值列表发送到片段着色器中。它可能是一个很大的列表(长数千个项目)单精度浮点数。片段着色器需要对该列表进行随机访问,我想刷新每帧上CPU的值。
我正在考虑如何做到这一点的选择:
作为数组类型的统一变量(“ uniform float x [10];”)。但是这里似乎有限制,在我的GPU上发送数百个值非常慢,而且当我想在运行时更改它时,我必须在着色器中硬编码上限。
作为高度为1且宽度为列表的纹理,然后使用glCopyTexSubImage2D刷新数据。
其他方法?我最近还没有跟上GL规范的所有变化,也许还有其他专门为此目的设计的方法?
慕容708150