0

私は 2 つの 3D オブジェクトを描画しています。どちらも独立して不透明から透明にフェードすることができ、それらの間で交差することができます (したがって、一方が他方より前にあるとは言えません)。理解を深めるために画像を見てください (オブジェクトの 1 つは地形で、もう 1 つは領域です)。

正しい引き

ここで、両方に透明度を適用し、エリアの前に地形を描画すると、地形はエリアに対して透明ではありませんが、エリアは次のようになります。

不適切な透明度

最後に、地形の前に領域を描画すると、領域は地形を考慮して透明になりません。

不適切な透明度 2

質問:描画順序に依存せずに、すべてのオブジェクトを残りのオブジェクトに対して透明にするにはどうすればよいですか?

4

1 に答える 1

0

できません。少なくとも、自明ではありません-実行している操作は本質的に順序に依存しています。地形自体でさえ、さまざまな視点や透過性からレンダリングすると問題が発生します。

したがって、実際には、順序に依存しない操作を使用するように変更する必要があります (加算または減算ブレンディングなど、これはおそらくあなたのケースでは有用な結果にはなりません) か、描画を制御するための他のオプションを探りますオブジェクト レベルでの並べ替えを超えた順序付け。

たとえば、複数のパスでシーンをレンダリングし、ピクセルをレイヤーに合成する深度ピーリングを調査できます。交差するポリゴンを処理できますが、レンダリングする必要があるレイヤーが多いほど、コストが高くなります。

于 2013-03-20T12:39:37.487 に答える