首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >GLSL ES中的统一属性与属性

GLSL ES中的统一属性与属性
EN

Stack Overflow用户
提问于 2012-06-22 22:30:04
回答 1查看 15.1K关注 0票数 30

我有一些从CPU传递到GPU的参数,这些参数对于所有片段都是恒定的,但在每一帧上都会改变(我使用的是GLSL ES 1.1)。对于这样的值,我应该使用统一化还是属性?属性可以在不同的顶点之间变化,所以我的直觉是,在整个框架中使用恒定的值的属性效率会很低。然而,我读到制服是用于“相对不频繁”改变的值,这表明在每一帧上改变制服可能是低效的。

在硬件方面,我最感兴趣的是针对iPhone 4S进行优化。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-06-23 00:21:01

我投票赞成穿制服。

其中一个原因已经在你的问题中解释过了:制服是每个顶点/片段的常量。

更喜欢制服而不是属性的其他原因是:

  • 可用槽的数量(允许16个属性,但有更多的统一)
  • GLSL编译器可以优化统一的值处理
  • 较少的数据流在长顶点数组上,较少的每个顶点的属性意味着在片段着色器中可以使用更好的片段,而不需要定义顶点和片段之间的属性shaders
  • uniforms可以是结构和数组,从而产生更具可读性的代码。
票数 35
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11158223

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档