我的问题基于此答案GLSL reusable/shared functions, shared constants (OpenGL ES 2.0)?
如果我可以创建一个通用的着色器,限制在哪里?我可以在此通用着色器中编写Uniform变量吗?我可以在特定的着色器上附加的最大通用着色器数量是多少?增加此性能?
推荐吗?任何人都经历过吗?
编辑:在我的OpenGL实现中,我有一些着色器可以扩展其他着色器。是否可以在不损失性能的情况下摆脱重复的代码?
示例
ShaderC扩展ShaderB扩展ShaderA。它们每个都加载一些统一变量。 如果我创建commonShaderB.glsl和commonShaderA.glsl并将它们从shaderC附加到程序中,以避免重复的glsl代码,这将是一个好习惯吗?
答案 0 :(得分:1)
我可以在此通用着色器中编写统一变量吗?
是的
我可以在特定的着色器上最多附加多少个通用着色器?
可以附加到着色器程序的着色器数量没有限制。但是,指令,统一变量和属性的数量受到限制。使用合理设计的着色器不太可能达到任何这些限制。
提高此效果?
否。
如果我可以创建Comon Shader,极限在哪里?推荐吗?任何人都经历过吗?
这些问题过于笼统或基于意见,对于StackOverflow而言超出了范围。该功能存在是有原因的,因此请在适当的时候使用它。