2

WebGL でブレンディングを行うときに、いくつかの問題があります。そのうちの 1 つは、ブレンドがオンのときにアルファ値に関係なく色がレンダリングされる方法です。つまり、アルファが 1.0 に設定されている場合でも、暗い色は常に下にあるものとブレンドされます。はい、明るい色ほどアルファ値によって表現が異なるので、シェーダーの設定に問題はないと思います。

繰り返しになりますが、まだ完全なシーンをレンダリングする機会がありません。現在、WebGl でのテストのみを行っているため、デフォルトの背景の上に単純なオブジェクトのみを描画します。オブジェクトを使用して画面のすべてのビットをレンダリングすると、これらのブレンディングの問題は「修正」されますか? それとも、これは WebGL の制限ですか?

4

1 に答える 1

2

ブレンド機能を次のように設定してみてください。

 gl.blendFunc(gl.SRC_ALPHA, gl.ONE_MINUS_SRC_ALPHA);

それがデフォルトであるはずです、少なくともFirefoxにあるようです。

于 2011-02-02T22:40:43.193 に答える