私は周りを検索しましたが、glBlendEquation には Android でいくつかの問題があるようです。- GL_MAX/MIN は opengles の仕様にも記載されていません。
GL_MIN blendEquation モードの回避策を見つける必要があります。それは可能ですか?アルファが、書き込もうとしているピクセルのアルファよりも大きい場合にのみ、カラー バッファに書き込みたいと思います。拡張機能なしで、または複数のテクスチャを使用することは可能ですか?
私は周りを検索しましたが、glBlendEquation には Android でいくつかの問題があるようです。- GL_MAX/MIN は opengles の仕様にも記載されていません。
GL_MIN blendEquation モードの回避策を見つける必要があります。それは可能ですか?アルファが、書き込もうとしているピクセルのアルファよりも大きい場合にのみ、カラー バッファに書き込みたいと思います。拡張機能なしで、または複数のテクスチャを使用することは可能ですか?
私が避けようとしていた汚い解決策はこれです。フレーム バッファ オブジェクトとシェーダを使用して、カラー バッファとブレンド モードをエミュレートします。
Modify existing shaders to blend the scene with an FBO_1, into FBO_2.
Render FBO_2 to the screen.
次の描画呼び出しでは、FBO_2 がカラー バッファーに等しいため、FBO_1 を FBO_2 と交換します。
「邪魔にならない」より非効率的な代替手段は、3 つの FBO とシェーダーを使用し、追加のパスを作成することです。
Render scene to FBO_1 //without any modification to existing shaders
Blend FBO_1 with FBO_2 into FBO_3 //with new shader.
Render FBO_3 to the screen.
次の描画呼び出しは、FBO_2 を FBO_3 と交換します。この代替手段の唯一の利点は、既存の描画ロジックを変更する必要がないことです。
私は本当にこのアイデアが好きではありません。より良い回答を喜んで受け入れます!