頂点シェーダーからフラグメント シェーダーに値を渡したい。これが今のところ私がしていることです。
#version 150
in vec2 texcoord;
out vec2 f_texcoord;
void main()
{
f_texcoord = texcoord;
}
texcoord
2 つの変数名を定義せずに同じ動作に到達しf_texcoord
、最終的に行を削除するにはどうすればよいf_texcoord = texcoord;
ですか?
GLSL では、頂点シェーダーからフラグメント シェーダーに属性を渡す唯一の方法は、現在行っている方法とまったく同じです。特に、テクスチャ座標は通常、頂点ごとに (ほとんどの場合、位置または法線と共に) 変化するためです。
uniforms
色やライトの位置などの他のプロパティについては、頂点からフラグメントへの入出力ペアとして渡すことなく、両方のシェーダーで使用できる変数を追加することで、代わりに「グローバル」変数を宣言できます。ユニフォームは通常、頂点ごとに値を変更するのではなく、頂点のバッチで動作する定数です。