GLSL的较新版本的减少标准的量,内置属性和制服,例如gl_Color
和gl_ModelViewMatrix
不在GLES 2.0中。重写在GLSL属性
是否确定要覆盖这些名字,并重新定义它们的着色器是另一个变量类型的?如果您自己设置GLSL版本,在早期GLSL版本上运行时,会自行声明自己的gl_ModelViewMatrix
?
在早期GLSL gl_Color
可以每个顶点或整个呼叫,取决于如果客户端调用glColor()
或glColorPointer()
- 你能在效果设置一次的属性,使其成为一个统一的?或者如何处理这种歧义?
(这是所有在寻求使该在一系列的工作目标与着色器的一些简单的查找替换在加载时脚本)
着色器不幸的是我无法找到的文件,但我我确定这是正确的。 – 2011-12-23 09:27:32
OpenGL-3核心和GLSL 1.40标准清楚地表明,自定义变量不能用'gl_'前缀命名。但是,一旦可以使用一些预处理器技巧来显然“重新引入”它们。 – datenwolf 2011-12-23 10:53:41
@datenwolf是的,这是我的计划,虽然我有点卡住了gl_Color – Will 2011-12-23 13:00:55