한 표면이 다른 표면과 겹치는 원인을 실제로 알 수는 없습니다. 내가 만드는 3D 엔진에서 내 기술은 가장자리가 실패합니다.
내 방법은 페인트 할 표면을 가장 먼 곳에서 가장 가까운 곳으로 정렬하는 것입니다. 친밀감을 결정하기 위해 평균 z 값을 비교하고 있습니다. 그러나 때로는 겹치는 표면이 겹치는 표면 보다 평균 z 값이 더 높습니다 . 따라서 더 멀리 떨어진 표면이 더 가까운 표면에 페인트되어 다음과 같이 기괴한 렌더링이 발생합니다.
보아야 할 것은 입방체의 자주색 앞면 뿐이며, 빨간색면은 자주색면 위에 칠해져 있습니다. 자주색 표면의 평균 z 값이 더 높으므로 '더 멀어집니다'. 따라서이 기술이 올바른지 의심 스럽습니다.
내가 시도한 것은 카메라 (예 : 원점)에서 표면까지의 거리를 얻는 것입니다. 그러나 포인트가 필요했습니다. 각 표면의 중간을 선택했지만 모든 표면이 서로 큰 것은 아니기 때문에 항상 작동하지는 않습니다.
따라서 원점을 향한 표면의 근접 순서를 결정하는 신뢰할 수있는 방법은 무엇입니까?