Opengl es 着色器管理 我正在学习GLSL,以便在iOS和Android C++引擎中管理它。 我有很多关于语法和GLSL编程的文档,但我需要一些关于如何在完整场景中管理它的教程(如何仅在场景的特定对象上应用着色器?如何在对象上组合多个效果?)

Opengl es 着色器管理 我正在学习GLSL,以便在iOS和Android C++引擎中管理它。 我有很多关于语法和GLSL编程的文档,但我需要一些关于如何在完整场景中管理它的教程(如何仅在场景的特定对象上应用着色器?如何在对象上组合多个效果?),opengl-es,glsl,Opengl Es,Glsl,你有一些链接或参考书寄给我吗 如何仅在场景的特定对象上应用着色器 这与将纹理应用于特定对象的方式相同。您可以使用想要使用的程序调用glUseProgram。任何后续渲染命令都将使用该程序,直到遇到另一个glUseProgram调用 如何在一个对象上组合多个效果 通常,这意味着您要编写一个新的着色器。着色器并不是真正可以与API结合的东西。可以将其中的一些片段复制到其他着色器中。您可以使用来根据链接到的程序更改程序功能 但是在一般情况下,如果你想组合几个“效果”,你必须编写一个新的着色器,其中包含

你有一些链接或参考书寄给我吗

如何仅在场景的特定对象上应用着色器

这与将纹理应用于特定对象的方式相同。您可以使用想要使用的程序调用
glUseProgram
。任何后续渲染命令都将使用该程序,直到遇到另一个
glUseProgram
调用

如何在一个对象上组合多个效果

通常,这意味着您要编写一个新的着色器。着色器并不是真正可以与API结合的东西。可以将其中的一些片段复制到其他着色器中。您可以使用来根据链接到的程序更改程序功能


但是在一般情况下,如果你想组合几个“效果”,你必须编写一个新的着色器,其中包含这些效果。

一个很好的介绍GLSL的网站是:@boto我想这不是他想要的。他想要一个好的场景管理架构的建议,这就是为什么这个问题有点过于宽泛而无法恰当回答的原因。是的,这就是为什么我要求提供文档而不是具体的答案。橙色书对于学习如何编写着色器非常有用,但是没有给出在游戏框架中管理着色器的方法谢谢你的回答。这是我在创建第一个着色器管理器时遇到的第一个问题。