2011-01-15 30 views
0

累積ブレンディングを達成するためにglBlendFuncに使用する設定を知っている人はいますか?例えば累積アルファブレンディング

:= 50%アルファ

  • 50%のアルファ+ 40%のアルファ= 50%アルファ
  • 50%のアルファ+ 60%のアルファ= 60

    1. 50%のアルファ+ 50%のアルファ%alpha

    私がしようとしているのは、同じ色のアルファ値が異なる複数の図形をレンダリングすることです。いくつかの図形が重なり合う。結果として得られる各ピクセルを、最大のアルファ値で一度だけレンダリングするのと同じようにします。

    私はバニラGL10を使用する必要がありますので、min/max等式のものはありません。

    私はhotch-potchの代替ソリューションを使っています.1つは深さを使用し、もう1つはマルチパスレンダリングを使用していますが、私は見た目には見劣りしていません。

  • 答えて

    0

    OpenGL 1.1を使用している場合。実装では、累積バッファを使用できます。

    累積バッファは異なるレンダリングパスを累積し、各ピクセルカラーを意味することができます。実際に、異なる図形を描くと、重なり合う領域は重なり合う図形のカラー値を累積します。レンダリングフェーズ(たとえばN)の数、M形状がカラーRGB * M/Nを有するであろうによって所有されている画素を修正

    。私が理解できるように、これはあなたが得たいものです。

    詳細については、glAccumマニュアルを参照してください。

    +0

    このプロジェクトはAndroid搭載携帯電話向けですが、残念ながら蓄積バッファーのサポートはありません。しかし、あなたの提案をありがとう。 –