我有一些参数从 CPU 传递到 GPU,这些参数对于所有片段都是恒定的,但在每一帧上都会发生变化(我使用的是 GLSL ES 1.1)。对于这些值,我应该使用制服还是属性?属性可能因顶点而异,所以我的直觉是,将属性用于在整个框架中保持不变的值将是低效的。但是,我读过制服适用于“相对不经常”更改的值,这表明在每一帧上更改制服可能效率低下。
在硬件方面,我最感兴趣的是针对 iPhone 4S 进行优化。
最佳答案
我投票给制服。
您的问题中已经解释了原因之一:制服是每个顶点/片段的常量。
更喜欢制服而不是属性的其他原因是:
关于glsl - GLSL ES 中的统一与属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11158223/