我有一个在Windows上使用OpenGL工作正常的顶点着色器。我想在支持OpenGL ES2.0的iPad上使用相同的着色器。但是编译着色器失败,出现以下错误:
Invalid storage qualifiers 'out' in global variable context
根据我所读的,'out'关键字需要GLSL 1.5支持,而iPad不支持。是否有一个等效的关键字可以用来将颜色传递到我的片段着色器中?
attribute vec4 vPosition;
attribute vec4 vColor;
uniform mat4 MVP;
out vec4 pass_Color;
void main()
{
gl_Position = MVP * vPosition;
pass_Color = vColor;
}
我使用这个顶点着色器来创建渐变混合,所以我将颜色分配给三角形的每个顶点,然后片段着色器在每个顶点之间插值颜色。这就是为什么我没有直接传递一个纯色到片段着色器。