パススルー頂点シェーダーとフラグメントシェーダーがあります。
頂点シェーダー
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を設定すると、フラグメント1のgl_Colorの値がどのように変わるのでしょうか。私が欠けているものは何ですか?