後処理効果を実行できるように、ポリゴンのシーンを複数のレンダー ターゲットにレンダリングしています。ただし、フラグメント シェーダーで設定している値がピクセル シェーダーに正確に反映されていないようです。
現在、パイプラインは次のようになっています。
- 基本的なポリゴンを (以下の単純なシェーダーを使用して) 中間バッファーにレンダリングします。
- バッファーを画面サイズのクワッドとして画面にレンダリングします。
WebGL インスペクター (http://benvanik.github.com/WebGL-Inspector/) を使用して中間バッファー (を使用して作成) を表示していますgl.createFrameBuffer()
。
ポリゴンを描画するとき、次のような非常に単純なフラグメント シェーダーがあります。
gl_FragColor = vec4(1, 0, 0, 0.5);
そして、これは私の描画呼び出しの前に:
gl.disable(gl.BLEND);
これにより、バッファー内に正確に (255,0,0,128) の値を持つピクセルが作成されると予想されますが、実際には (255,0,0,64) の値を持つピクセルが作成されます。予想通りのアルファ。
このプログラムはかなり大きくて複雑なので、答えがすぐにわからない場合は、投稿を具体的な詳細で更新します.
ありがとう!