0

背景画像の上に、加算的にブレンドされたパーティクルを含むパーティクル エフェクトを正しくレンダリングするにはどうすればよいですか?

問題は、パーティクルもバックグラウンドと相加的にブレンドされることです。どうすれば回避できますか? (つまり、それらを互いに加算的にブレンドしますが、背景にはブレンドしません)

いくつかの追加の制約:

私が取り組んでいるゲームは、次のように 8 つのレイヤーでレンダリングされます。

  1. 背景 #1 (視差スクロール)
  2. 背景 #2 (視差スクロール)
  3. 背景 #3 (視差スクロール)
  4. パーティクル エフェクト レイヤー #1
  5. ゲームオブジェクト
  6. パーティクル エフェクト レイヤー #2
  7. UI
  8. パーティクル エフェクト レイヤー #3

FBO がブレンディングの問題を解決する唯一の方法である場合、8 つのテクスチャ (画面サイズ) を使用し、各レイヤーを FBO に個別にレンダリングしてから、8 つのテクスチャをウィンドウ フレーム バッファにレンダリングする必要がありますか? それはあまりにもメモリを消費しているようです。単一のテクスチャを使用するには、16 個の FBO スイッチが必要です...

任意のヒント?

4

1 に答える 1

0

最初にすべての粒子を黒の clearcolor に対して描画し、次にその背後に「背景」を描画できますか? 深度バッファを使用して、パーティクルの背後に背景を配置できます。

ただし、これは、パーティクルに部分的な透明度が必要ない場合にのみ機能します。

于 2012-08-27T15:41:03.657 に答える