这是一个奇怪的问题。如果我尝试将统一颜色传递给片段着色器,则会出现编译错误
uniform vec4 uniformColor;
void main(){
gl_FragColor = uniformColor;
}
但是,如果我将相同的统一颜色传递给顶点着色器,然后通过变量将其传递给片段着色器,那么它就可以正常工作了。
attribute vec4 position;
uniform mat4 matrix;
uniform vec4 uniformColor;
varying vec4 fragmentColor;
void main()
{
gl_Position = matrix * position;
fragmentColor = uniformColor;
}
和
varying lowp vec4 fragmentColor;
void main()
{
gl_FragColor = fragmentColor;
}
这是在 iOS 上。
我有点困惑,因为从网上复制和粘贴示例会给我带来错误。