トライストリップである単一のプリミティブ セットを持つジオメトリがあります。プリミティブの一部の三角形が重なり合っているため、マテリアルをジオメトリにアルファ値で追加すると、(予想どおり) 重なりが見えます。ただし、ジオメトリを変更せずにこの効果を取り除きたい - さまざまなブレンド モード (glBlendFunc()) をいじってみましたが、これを機能させることができませんでした。興味深い結果が得られましたが、トライ ストリップのプリミティブ内の不透明度効果を排除し、オブジェクト全体の不透明度を維持するものは何もありませんでした。私は OpenSceneGraph を使用していますが、問題のジオメトリに対して glBlendFunc() を呼び出すメソッドを提供しています。
したがって、画像から、ピンク色の道路、紫色の道路、黄色の道路が 3 つの個別のオブジェクトを構成し、それぞれが 1 つのトライ ストリップを使用して作成されていると仮定します (複数のストリップがありますが、議論のために、ここでは異なる色のトライ ストリップが 3 つしかないことにします)。 . 私は基本的に同じ色内の自己交差を見たくありません
また、私の質問はこれとほとんど同じです: OpenGL, Primitives with opacity without visible overloadですが、その質問に対する受け入れられた回答でブレンディング モードを試したときに、ストリップがシーンにレンダリングされなかったことに注意してください。全て。