我正在尝试在 OpenGL 3.2 中编译着色器程序,但出现了一个奇怪的链接错误。
创建顶点和片段着色器编译并附加它们后,我尝试将它们链接到程序中,但我收到以下信息日志错误:
ERROR: Compiled vertex shader was corrupt.
ERROR: Compiled fragment shader was corrupt.
我完全不知道这意味着什么,我在谷歌上唯一能找到的就是忽略它。但是,当我 glUseProgram() 时,我得到一个无效的操作,所以我不能忽略这个错误。
此外,我刚刚更新到 XCode 5 并且相同的代码/着色器源正在工作。虽然不知道它如何相关..
编辑:着色器源
顶点:
#version 150
in vec3 position;
uniform mat4 worldMatrix;
uniform float time;
out vec3 outPos;
void main(){
gl_Position = worldMatrix*vec4(position, 1.0);
outPos = position;
}
分段:
#version 150
out vec4 outColor;
uniform float time;
uniform float red;
uniform float green;
uniform float blue;
void main(){
outColor=vec4(red, green, blue,1.0);
}