2013-03-20 3 views
0

두 개의 3D 오브젝트를 드로잉 할 때 두 오브젝트가 모두 불투명에서 투명으로 사라질 수 있으며 두 오브젝트가 서로 교차 할 수 있습니다. 따라서 한 오브젝트가 보다 먼저 나오고이 아닌 다른 오브젝트를 말할 수는 없습니다. 나는 전에 양쪽에 투명성을 적용하고, 지형을 그릴 경우, 지금그리기 순서에 따라 XNA 3D 투명도?

Correct draw

: 더 나은 이해를위한 이미지 봐 (객체 중 하나 것은 지형과 다른 하나의 영역입니다) 지역, 지형이 지역에 투명 존중 아니라,이 지역은 다음과 같습니다

Incorrect transparency

그리고 마지막으로, 나는 지형하기 전에 지역을 그릴 경우, 그 지역은 지형의 투명 존중이되지 않습니다 :

Incorrect transparency 2

질문 :가 어떻게 그리기 순서에 의존하지 않고 객체의 나머지 모든 객체를 투명하게 만들 수 있습니까?

답변

0

수 없습니다. 적어도, 사소한 것은 아니며, 당신이하는 작업은 본질적으로 순서에 따라 다릅니다. 자체 지형에서도 다양한 시점과 투명도에서 렌더링 될 때 문제가 발생합니다.

그래서 실제로는 주문에 의존하지 않는 연산 (예 : additive 또는 subtractive blending)을 사용하는 것과 같은 작업을 변경해야합니다. 예를 들어, 유용한 결과를 얻지 못할 수도 있습니다. 오브젝트 레벨에서 정렬하는 것 이상의 그리기 순서를 제어하는 ​​옵션.

예를 들어 장면을 여러 패스로 렌더링하고 픽셀을 레이어로 합성하는 깊이 필링을 조사 할 수 있습니다. 그러면 교차하는 다각형을 처리 할 수 ​​있지만 렌더링해야 할 레이어가 많을수록 더 많은 비용이 들게됩니다.