我有传递顶点和片段着色器。
顶点着色器
void main(void)
{
gl_TexCoord[0] = gl_MultiTexCoord0;
gl_Position = gl_ModelViewProjectionMatrix * gl_Vertex;
}
片段着色器
void main(void)
{
gl_FragColor = gl_Color;
}
那些产生空的渲染(黑色不是像GlClearBuffer那样的背景颜色)。
如果我修改顶点着色器将gl_FrontColor设置为gl_Color,那么它会渲染未触动的OpenGl缓冲区,这是传递着色器的预期行为。
void main(void)
{
gl_FrontColor = gl_Color; //Added line
gl_TexCoord[0] = gl_MultiTexCoord0;
gl_Position = gl_ModelViewProjectionMatrix * gl_Vertex;
}
我很困惑,顶点着色器中gl_FrontColor的设置如何改变片段中的gl_Color的值?我失踪了