私はGwenと呼ばれるGUIツールキット用のOpenGL 3レンダラに取り組んでいます。私はほとんどすべての作業をしていますが、私はいくつかの問題がすべて正しく混合するようになっています。私は、それは基本的に3層に沸くユニットテストとなるよう、彼らが使用されたテクスチャで三角形をソートし、VBOにそれらを詰めました:使用などのテクスチャ、テキスト、およびウィンドウ、ボタン、ノーで満たさRects肌の質感。深度に依存しないブレンドをどのように行う必要がありますか?
充填Rectsは、通常、他のすべての上に描画し、中に配合し、しかし、すべての背景にも充填のRectであるので、私はそれを頼りにすることはできませんされています。最後に描画するとZ値の競合が発生します(例:バックグラウンドが深度テストに失敗するため、ウィンドウの周囲に黒くなる影があります)。最初に描画するとブレンド/ z値の競合が発生します:選択ハイライトの一部が、想定されているようにブレンドされる代わりに上に描画されます。
私が充填Rects以外の任意の特定の層を識別することができることを当てにすることはできません。異なるレイヤーにはZ値が混在しているので、それらを特定の順序で描画して動作させることはできません。これを書いている間、私は、三角形を前に並べ替えた簡単な方法を考えましたが、それは避けることを望んでいる多くの小さな描画呼び出しを意味する可能性があります。いくつかのブードゥーのマジックブレンディングが、私の大きなバッチの三角形を保つことができる方法がありますか?
グウェンは素晴らしいです。しかしそれは混ざり合うだろうか? –