在多个程序中使用一个顶点/片段着色器

问题描述:

在OpenGL ES 2.0中,是否可以在多个链接的程序中使用编译的顶点/片段着色器?在多个程序中使用一个顶点/片段着色器

例如,假设我有1个编译的顶点着色器和5个编译的片段着色器。我可以创建5个不同的程序(vsh1 + fsh1,vsh1 + fsh2等)吗?

据我所知,这应该是可能的,但它从来没有伤害要问。

感谢

是的,你可以,但据我所知,你仍然要分别设置所有的制服。 我想这就是为什么可分离的程序诞生了,但是你没有在Es 2.0中访问它们(这是OpenGL 4.0的特性),所以我认为这是唯一的方法。

关于它的一些讨论here

+1

是的,设置制服和属性是在程序上完成的,所以必须为它们中的每一个设置它们(即使在同一顶点着色器中使用一些制服)也是有意义的。谢谢 –