这是一个奇怪的问题。如果我尝试将统一颜色传递给片段着色器,就会出现编译错误。
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上的。
我有些困惑,因为从网上复制和粘贴示例会导致出现错误。
lowp
,mediump
等)吗?另外,在着色器编译时你得到了什么错误信息? - keaukraine