쿼드 트리 지형 분할 – 나는 그것을 얻지 못한다


12

내가 읽은 대부분의 논문은 지형이나 쿼드 트리를 기반으로 지형을 만듭니다. 38 페이지를 참조하십시오 .

http://www.slideshare.net/repii/terrain-rendering-in-frostbite-using-procedural-shader-splatting-presentation?from=ss_embed

첫 번째 요점이 아래 두 가지와 모순되지 않습니까? 리프 당 33x33 버텍스 그리드를 고정하면서 쿼드 트리의 적응 분할에 대해 어떻게 이야기 할 수 있습니까? 용어가 혼란스럽고 이에 대한 명확한 설명을 부탁드립니다!


내 가정은 다음과 같습니다
. 쿼드 트리 변경이 적중 될 때마다 패치를 교체하는 것이 좋지 않습니까?

http://www.dukecg.net/QuadtreeTerrain.png

  1. 지형 경계에서 시작하는 쿼드 트리.
  2. 관찰자 위치까지 반복합니다.
  3. 제한된 버전 (이웃간에 1 단계 이하의 차이)
  4. 절두체
  5. 스케일이 다르지만 해상도는 항상 33x33 인 각 결과 리프에 터 레인 패치를 배치하십시오.

답변:


7

아니 정말. 지형 상세 수준에 쿼드 트리를 사용하려는 경우 저장하는 노드는 모두 동일한 데이터 구조를 갖습니다.

귀하의 예에서, 해당 구조는 노드가 보유 할 33 × 33 서브 메시입니다. 노드의 레벨에 따라 33 × 33 메시가 더 넓은 영역을 커버하도록 적응됩니다. 더 큰 노드는 더 큰 공간을 채우지 만 서브 메쉬는 여전히 33x33 정점 패치입니다.

나무가 만들어지면 나무를 내려 가서 교차하지 않는 노드를 버림으로써 절두체 컬링을 수행 할 수 있습니다.

명심해야 할 것은 더 큰 노드가 더 작은 노드 옆에있을 때 발생하는 균열을 해결해야 할 가능성이 높다는 것입니다. 쉬운 방법 중 하나는 메시 사이에 공유되지 않은 정점을 간단히 조정 (축소)하는 것입니다.

교체되는 나무에 대한 다른 질문은 그렇습니다. 트리를 관리하는 데이터에 들어 가지 않으려면 스택을 만들고 뷰가 충분히 움직일 때 플러시하는 것이 좋습니다.


다른 크기의 타일에서 보이는 솔기의 문제는 프레젠테이션의 슬라이드 39-40에 설명되어 있습니다. 분명히 접합점에서 9 개의 가능한 메시 중 하나를 사용하여 T 접합을 제거합니다 (슬라이드 40 참조).
bummzack

면책 조항 : IDNRTFA ;-)
bitcruncher

3

지형의 "단위"는 33x33 블록입니다. 당신이 가까이 있다면, 그것이 보게 될 것입니다. 더 멀리 떨어져 있다면,이 블록들은 더 낮은 LOD 청크로 융합됩니다.

가장 낮은 수준 (리프)에서 고정 청크를 사용하는 이유는 정적 하드웨어에서 최신 하드웨어가 훨씬 빠르기 때문입니다. 결과적으로 다각형 수를 줄이기 위해 많은 작업을 수행하는 ROAM과 같은 시스템은 상당한 성능 저하를 초래합니다.


따라서 끝 잎은 가능한 가장 작은 끝 잎이 아니고 거리에 따라 반복에 대한 끝 잎이므로 일부는 16x16이고 먼 것은 256x256 (또는 무엇이든)입니까? 쿼드 트리가 변경 될 때마다 패치를 다시 배치하고 확장해야한다는 의미는 아닙니까?
George R
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.