0

我的理解GLKBaseEffect是它带有某种通用的顶点和片段着色器,当[baseEffect prepareToDraw]被调用时,效果将其属性值传递给OpenGL制服transformfog属性,以便默认着色器接收他们期望的制服。

有人知道这些制服和属性是如何命名的吗?更好的是,有人有标准着色器的源代码GLKBaseEffect吗?

4

1 回答 1

1

您可以使用 Xcode 4 中的 Frame Debugger 查看生成的 GLSL。如果您想修改这些着色器的使用,最好将着色器源复制到您自己的应用程序中,而不是依赖 GLKit 在运行时生成它们。

特别是统一名称是 GLKit 的私有实现细节,并且可以并且随时更改,这将破坏任何尝试直接设置这些字段的应用程序。如果您自己对着色器文本进行快照,则不存在此类问题。

于 2012-08-30T05:38:03.897 回答