【问题标题】:Passing variables between GLSLES vertex & fragment shaders在 GLSL ES 顶点和片段着色器之间传递变量
【发布时间】:2012-11-16 12:12:45
【问题描述】:

每当我查看示例着色器时,似乎这种类型的东西几乎是魔法发生的;有时信息会保存到位置/颜色等特殊位置,但有时片段着色器使用参数以及片段着色器如何知道从哪里获取我无法跟踪的数据。

谁能提供一个中等简单的 GLES 着色器,并解释它是如何工作的?

【问题讨论】:

  • 它已被标记为已回答时,为什么有人会费心投票结束一个问题,尤其是“不是一个合适的问题”?!
  • 仅仅因为有人猜到了你的答案并不能使它成为一个真正的问题。

标签: opengl-es-2.0 glsl shader glsles


【解决方案1】:

看看OpenGL ES quick reference card

您对稍后描述 GLSL 的“内置输入、输出和常量”感兴趣,特别是顶点着色器输出和片段着色器输入。

应使用varying 关键字在两者中声明额外的 VS 输出(成为 FS 输入)。

【讨论】:

  • 如此简单地声明它们,这就是它们自动粘合在一起的“神奇”部分? varying 是否只出现在链接的片段着色器中,或者它是否漂浮在任何东西上?
  • 当您LinkProgram 时,链接器将查看附加的 VS 和 PS 中的不同变量。如果它们不匹配,您将收到链接器错误。
猜你喜欢
  • 1970-01-01
  • 2019-01-09
  • 1970-01-01
  • 2017-08-11
  • 1970-01-01
  • 2021-09-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多