1

複数のレイヤーと Photoshop のすべてのブレンド モードをサポートするシンプルな描画ツールを作成する予定です。

GPU でブレンドを行うことを検討しています (各レイヤーをテクスチャに入れ、2 つの三角形を描画して各レイヤーをレンダリングします)。しかし、OpenGLのblendFunc/blendEquationなどですべてのブレンドモードを実装できるかどうかはわかりません.

もう 1 つの意見は、すべてのテクスチャ + ブレンド モード フラグを 1 つのフラグメント シェーダーに渡し、希望どおりにブレンドすることですが、一部のレイヤー (sampler2D) を追加/削除するときに FS を再コンパイルする必要があります。

それで、あなたはどう思いますか?出来ますか?ブレンディングに GPU を使用するより良い方法はありますか? それで、今それを気にする必要がありますか、それともすべてをCPU上で作成し、将来の拡張を気にする必要がありますか?

ところで。WebGLを使ったJavaScriptプログラムになりますが、問題ないと思います。

4

1 に答える 1

1

もちろんできます。ただし、共有者で行う必要があります。

2 つの画像を読み込み (実際にはもっと多くてもかまいません)、三角形をレンダリングします。ただし、シェーダーを使用して両方のテクスチャをプローブし、それらの値を現在のブレンド モードに依存する方程式 (uniform として提供) と混合するだけです。

PS ミップマップとフィルタリングをオフにすることを忘れないでください。

于 2012-09-19T18:46:17.370 に答える