OpenGL 3.2 でシェーダー プログラムをコンパイルしようとしていますが、奇妙なリンク エラーが発生します。
頂点シェーダーとフラグメント シェーダーを作成してコンパイルしてアタッチした後、それらをプログラムにリンクしようとしましたが、次の情報ログ エラーが発生しました。
ERROR: Compiled vertex shader was corrupt.
ERROR: Compiled fragment shader was corrupt.
私はそれが何を意味するのか全く分かりません.Googleで見つけた唯一のことはそれを無視することでした. ただし、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);
}