所以我不能讓我的着色器渲染顏色。當我不使用Color屬性設置顏色時,我的着色器有效。 我頂點代碼:着色器不工作
typedef struct
{
GLKVector3 Position; //Position
GLKVector4 Color; //32 Bit color
GLKVector3 Normal; //For Lighting
GLKVector2 TexCoord; //For Texturing
} Vertex;
我已經給出了顏色的所有頂點爲[1,0,0,1] 我的頂點着色器是這樣的:
attribute vec3 Position;
attribute vec4 Color;
attribute vec3 Normal;
attribute vec2 TexCoord;
uniform mat4 ModelViewMatrix;
uniform mat4 ProjectionMatrix;
varying vec4 DestinationColor;
void main(void)
{
gl_Position = ProjectionMatrix*ModelViewMatrix*vec4(Position,1);
DestinationColor = Color;
}
我的片段着色器是這樣的:
precision mediump float;
varying lowp vec4 DestinationColor;
void main (void)
{
gl_FragColor =DestinationColor;
}
並顯示什麼。
它甚至不工作,如果我改變片段着色器說gl_FragColor = vec4(1,0,0,1);除非我取消註釋頂點着色器中設置DestinationColor的行。
請幫助我一直坐在這一段時間,現在
我看不出你在做什麼錯。你是否從着色器和程序編譯中檢查錯誤日誌? – combinatorial
是的它完成沒有錯誤,並運行良好 – bobjamin
嘗試使用兩個着色器中變化非常相同的聲明(不要在兩個着色器中使用不同的精度限定符)。 – derhass