私はiPhoneでOpenGLとプログラミングを使用しています。添加剤ブレンドを使用していても、バックグラウンドに対して同じ色を維持するにはどうすればよいですか?
私はゲームシーンの上に輝く「ビーム」を描いています。私は、グロー効果を作るために、いくつかのテクスチャに添加剤ブレンディングを使用しています。ビームが純粋な黒の背景にレンダリングされている場合、ビームは私が望むのとまったく同じように見えますが、ビームが私の絶え間なく変化するゲームでレンダリングされると、ビームは後ろの色と混ざります。
1)テクスチャにビームをレンダリングし、通常のブレンドを使用して背景にテクスチャを描画:
は現在、これは私だけの考えです。
問題 - テクスチャは常に不透明です(黒は私のglClearカラーです)。私はレンダリングされたテクスチャからすべての黒を取り除く方法はまだ分かりません。
提案がありますか?
ありがとうございます。私がやったことは、アルファブレンディングを使って、光沢のある光線をレンダリングして、光沢感に見えるようにすることでした。私は通常のブレンドを使用してそのテクスチャを私のバックグラウンドにレンダリングできると思っていましたが、残念ながらこれはそうではありません - ビームはまだバックグラウンドにブレンドされていました。 私の究極の目標は、バックグラウンドとブレンドすることなくどこでも描画できる発光ビームを作成することです。何か案は? – 3rdFunkyBot
これについて考えてみましょう。あなたの背景が明るい(おそらく空が見える窓)の場合はどうでしょうか?特に発光ビームは常にブレンドを必要とする。それはあなたがアルファテストを使用することができるいくつかの不透明なものでしたが、それは背景が輝くことはありません。最終的には、フレームバッファ内のピクセルの彩度が問題になります。 HDRレンダリングを使用することもできますが、これは最終的な合成ステージでビームが過度に露出するのを助けません。 – datenwolf