WebGL でブレンディング モードを実行する方法を理解しようとしています。これまでは、ネイティブの HTML5 Canvas 描画関数を使用していました。たとえば、次のようなことができます。
var ctx = new Document.getElementById('canvas').getContext('2d');
ctx.globalCompositeOperation = 'lighter'
現在、パフォーマンス上の理由から、これを WebGL に移植しようとしています。ただし、WebGL でブレンド モードに影響を与える方法を理解するのに苦労しています。私が理解しているように、頂点シェーダーは、異なるテクスチャ/ポリゴンのどの部分が表示されるかを決定し、次に、これらのテクスチャ/ポリゴンの表示部分の各ピクセルに対してフラグメント シェーダーが呼び出されます。ただし、より明るい (下にある色と新しい上にある色の各コンポーネントの高い方を使用する) などのブレンド モードがある場合、この場合の頂点シェーダーとフラグメント シェーダーの役割について混乱します。 .
さらに、現在 WebGL での描画に使用している Pixi.js ライブラリでは、すべてのオブジェクトがフレーム バッファーに描画された後、つまり、すべてのオブジェクトが配置された後にのみ、頂点シェーダーとフラグメント シェーダーが呼び出されると考えています。(このライブラリが使用するシェーダーは、ここで見つけることができます)
誰かが WebGL でブレンディング モードを適切に使用する方法を説明できますか?