GL_UNSIGNED_BYTE r、g、b に色がありますが、アルファ チャネルを使用して、ジオメトリの色を変えるためにピクセル シェーダー内で使用されるカスタム値を設定したいと考えています。0 と 127 の 2 つの値が考えられますが、頂点シェーダーでこれを行うと問題が発生します。
[バーテックス]
varying float factor;
factor = gl_Color.w
これを行うと、係数は常に 1.0 のようです。
[断片]
varying float factor;
factor = factor;
gl_FragColor = vec4(factor, 0.0, 0.0, 1.0)
出力は常に赤で、係数がゼロの場合と係数が 127 の場合の 2 つの異なる色が期待される理由です。
2 つの値 0 と 127 を割り当てた場合、頂点シェーダー 0/0.5 に入る必要がありますか? これは正しいです?
[編集] わかりました、2 つの異なる値が表示されましたが、なぜそれらが得られたのかわかりません。gl_Colow.w コンポーネントで GPU が行っている処理はありますか?
[Edit2] ニコラスが指摘したように、私は glColorPointer(4...); を使用しています。