パススルー頂点とフラグメントシェーダがあります。頂点シェーダとフラグメントシェーダのgl_Colorとgl_FrontColorの関係は何ですか
頂点シェーダ
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の値を変更することができますどのように、混乱していますか?私は何が欠けているのですか?
それは良い説明です! – vrince