2012-04-28 4 views
3

전선 모드에서 많은 지형을 보았고 모두 삼각형을 사용했습니다. 다른 높이로 사용하면 얻을 수 있지만 사람들이 지형에서 평평한 지역에 삼각형을 많이 사용하는 이유는 무엇입니까? 넓은 평면 영역이있는 경우 작은 사각형을 많이 사용하는 대신 하나의 큰 사각형 또는 가능한 한 큰 삼각형을 만드는 것이 현명하지 않습니까?평평한 지형에 삼각형을 사용하는 이유는 무엇입니까?

그럼 내 질문에이 작업을 수행해야 할 이유가 있습니까? 나는 tesselation이 이와 같은 것을하지만 여전히 내 관점에서 너무 많은 삼각형을 남겨두고 있음을 안다.

답변

7

가능한 이유는 :

  1. 그들은 지형 최적화 루틴이 없습니다.
  2. 그들은 정점 조명을 사용합니다. 지형이 조밀하게 삼각형 화되지 않는 한, 그것은 끔찍하게 보일 것입니다.
  3. 셰이더가 거대한 삼각형과 잘 작동하지 않습니다. 삼각형에 걸쳐 거대한 값 (가벼운 dir 등)을 보간하면 정밀도 문제가 발생할 수 있습니다.
  4. 물리 엔진은 거대한 삼각형과 함께 작동하지 않습니다.
  5. 거대한 삼각형은 인공물을 유발합니다 (텍스처 반복 횟수에 하드웨어 의존적 인 제한이 있다고 생각합니다).
  6. 여러 지형 (8 개 이상)의 지형이 있습니다. 이는 특정 카드의 멀티 텍스쳐 제한을 초과 할 것이므로 지형을 분리해야합니다.
  7. 지형, 스트리밍 지대에 걸쳐 여러 가지 다른 재료 또는 지역. 서로 다른 재질은 서로 다른 텍스처 좌표 등을 필요로 할 수 있으며, 지형 위에 두 번째 좌표 세트가있는 경우 (최적화되지 않은 라이트 맵), 하나의 큰 평면 삼각형을 사용할 수 없습니다.
  8. 여러 소스가있는 픽셀 단위의 조명입니다. 광원이 여러 개인 경우 한 번에 모두 사용하려면 추가 알파 블렌딩을 사용해야 할 수 있습니다. 삼각형 모양의 지형을 사용하면이 특정 리소스의 영향을받는 작은 영역을 찾아내어 해당 광원에서 반사 된 부분을 다시 그릴 수 있습니다. 클립 플레인으로 큰 삼각형을 단순히 자르면 z- 싸움을 볼 수 있습니다. 지형에 영향을 미치는 작은 영역을 선택하지 않으면 전체 지형을 다시 그려야하므로 성능 저하가 발생할 가능성이 큽니다 (많은 픽셀이 다시 그려지기 때문에 채우기/쉐이더 성능).
+0

아마도 도둑질을 단순화하기 위해 삼각형을 떨어 뜨리고 넓은 영역을 재구성하는 것이 훨씬 쉽습니다. – jcoder

+0

@ 존 : 그럴만한 이유가 많이 있습니다. 제가 열거 한 것들은 제가 생각할 수있는 가장 명백한 시나리오였습니다. – SigTerm

+0

예, 답변이 가치가없는 작은 이유가 추가되었습니다. – jcoder

관련 문제