2009-04-22 3 views
1

희망 재치있는 질문이 시간 ...3D 렌더링 -이 문제는 무엇입니까?

상단 절반은 텍스처가 파괴되어 (조금 더 회전 후) 확인,하지만 아래쪽을 찾고 질감을 얼마나 사진에 참조하고 모양의 내부를 볼 수 있습니까? 다각형이 사라 졌나요?

이 문제는 무엇이라고합니까? 나는 그것을 고칠 때 무엇을 찾을 지 안다는 것을 알 필요가있다!

덧붙여서, 저는 Papervision에서 이것을하고 있습니다. 당신이 우연히 수정을 알고 있다면 (또는 가능하다면) 나는 올바른 방향으로 나를 가리킬 수 있다면 너에게 자신에 대해 더 잘 느끼도록 허락 할 것이다.

What is this called? http://i40.tinypic.com/6f40f4.jpg

감사 힙!

답변

8

우리는 "z-fighting"이라고 불렀지 만,보다 일반적인 용어는 z- 순서 또는 z- 버퍼 문제입니다.

다이어그램이없는 문제를 먼저 설명하겠습니다.

3D 렌더러는 다각형을 앞뒤로 그립니다. 이는 각 다각형을 이산적인 수의 위치 중 하나에 할당하여 수행합니다. 이것은 대부분의 장면에서 효과적입니다.

어떤 폴리곤이 다른 폴리곤의 앞에 있는지를 결정할 수있는 슬롯이 충분하지 않으면 문제가 발생합니다.

  1. 세계의 경계 상자는 가능한 한 작게 있는지 확인합니다 : 그것은 당신의 응용 프로그램에 따라 다릅니다 만, 모두에 공통적해야 이유가있다 -

    는 그것을 해결합니다.
  2. 디스플레이의 색상 수를 늘리십시오. OpenGL과 Direct3D는 둘 다 z 슬롯의 수를 디스플레이의 해상도에 연결할 수 있습니다.
  3. 삼각형의 수를 늘리거나 줄이십시오. 더 작은 삼각형은 이것의 영향을 덜 받지만 그릴 것이 많을수록 성능이 떨어집니다.

Windows에서 실행중인 경우 바탕 화면을 최고 색 해상도로 설정해야합니다. 응용 프로그램에서이를 기본으로 사용할 수도 있습니다.

OpenGL과 Direct3D 렌더링간에 전환 할 수 있습니까? 그렇다면 둘 다 시도해보십시오. 하나는 다른 것보다 더 나은 결과를 줄 수 있습니다.

+0

z-fighting! F-Zero 후 재생할 무언가처럼 들립니다! 나는 Papervision에서 1과 2를 할 수있는 방법을 아직 찾지 못했지만, 3은 도움이되지 못했습니다. 실적이 좋았지 만 방해가 될 것입니다. 감사합니다. – Assembler

+0

더 좋은 용어는 z 버퍼 문제입니다. 2는 모델링 시스템과 독립적 일 수 있습니다. Windows에서 실행하고 있습니까? 그렇다면 바탕 화면 수준에서 설정하고 도움이되는지 확인하십시오. – ChrisF

+0

필자는 뒤에서 앞으로 나아가는 이야기를 따르지 않습니다 ... 실제로 Z 버퍼를 사용한다면 폴리곤을 정렬 할 필요가 없습니다. Z 버퍼는 다각형이 앞에 있어야하는 각 픽셀에 대해 해결됩니다. 두 다각형 사이의 차이가 너무 작 으면 Z 전투를 할 때가됩니다. – unwind

1

어떻게 든 Z 버퍼 문제 인 것처럼 보입니다. 나는 당신이 거기에서 사용하고있는 것에 익숙하지 않다. 그래서 아마 나는 정말로 도움이 될 수 없다.

0

오버레이 된 질감 및/또는 다각형이 여러 개 있습니까?

여기에서 정확히 일치하는 서피스가있을 때 얻을 수있는 문제인 것처럼 보이지만 부동 소수점 오류는 일관되게 올바른 표면을 볼 수 없다는 것을 의미합니다.

+0

닫기 ... 30 분 전에 문제가 발생했습니다. – Assembler

+0

또는 복사/붙여 넣기를 한 후에 똑같은 위치에 폴리곤/정점을 복제하십시오 ^^ –

1

이것은 linear mapping이라고하며, 텍스처를 다각형에 매핑하는 방법입니다. 그러나이 방법은 원근 보정이되지 않아 극단적 인 각도에서 텍스처가 깨집니다. Perspective Corrected texture mapping

Linear Mapping 선형 텍스처 매핑 (최대) 및 관점 텍스처 매핑 (아래) 수정.

유일한 대안은 성능을 높이는 더 많은 폴리곤을 추가하는 것입니다 (this 데모 참조).

+0

고마워! 그것은 실제로 문제가 아니지만, 저는 생각합니다 ... PV3D의 경우 재질에 정밀도가 있습니다 :이 문제를 해결하기위한 부울 설정 ... 켜기/끄기를 시도했지만 문제가 지속되었습니다. – Assembler

+0

여기를 극복하는 방법에 대한 데모를보실 수 있습니다 : http://www.papervision3d.org/demos/LinearMapping/ – LiraNuna

+0

그래, 이건 다른 문제이지만, papervision을 다룰 때도 중요한 문제 야. –

1

Z 싸움보다 오히려 잘못된 데칼처럼 보입니다. Z- 파이팅에는 보통 가장자리가 들쭉날쭉합니다. 특정 삼각형에 대한 투영 행렬이 잘못되었을 수 있습니다 (문제의 범위가 카메라 위치에 따라 달라지는 것을 고려).

관련 문제