응애맘마조

프러스텀 컬링, 클리핑, 오클루전 컬링 본문

공부/3D과제

프러스텀 컬링, 클리핑, 오클루전 컬링

TH.Wert 2023. 8. 23. 20:34

프러스텀 컬링

절두체 컬링이라고도 하며 3차원 공간에는 무수히 많은 폴리곤과 오브젝트가 있지만 실제로 카메라의 시야 범위에 포함되는 것들만 렌더링 하고, 나머지는 렌더링 하지 않는 기법을 말합니다. 속도 증가에 대해 가장 중요한 기법입니다.

 

여기서 절두체는 투영행렬을 계산할 때 범위의 모양이 삼각뿔의 머리를 잘라놓은 것 같아서 절두체라고 하며 총 6개의 평면으로 이루어져 있습니다.

  1. 근평면은 카메라와 수직 하며 제일 가까운 곳의 시야를 나타내는 평면입니다.
  2. 원평면은 카메라와 수직 하며 제일 먼 곳의 시야를 나타내는 평면입니다.
  3. 좌평면은 카메라의 좌측 시야 범위를 나타내는 평면입니다.
  4. 우평면은 카메라의 우측 시야 범위를 나타내는 평면입니다.
  5. 상평면은 카메라의 상단 시야 범위를 나타내는 평면입니다.
  6. 하평면은 카메라의 하단 시야 범위를 나타내는 평면입니다.

위에서 바라본 절두체
실제 절두체


클리핑

사야 외부의 오브젝트를 추려내는 과정을 클리핑이라고 합니다. 이 절두체에서의 삼각형의 위치는 세 가지로 분류할 수 있습니다.

  • 완전한 내부는 삼각형이 완전히 절두체 내부에 위치하면 렌더링 되어 다음 단계로 진행합니다.
  • 완전한 외부는 삼각형이 완전히 절두체 외부에 위치하면 렌더링 되지 않습니다.
  • 부분적(내·외부)는 삼각형이 부분적으로 절두체 내부에 위치하면 삼각형을 두 개의 부분으로 분리합니다. 절두체 내부의 부분은 렌더링 되며 나머지는 렌더링 되지 않습니다.

절두체 내외부 클리핑 내부와 외부와 분리된 모습


오클루전 컬링

어떤 오브젝트가 다른 오브젝트에 의해 절두체에서 완전히 가려진 오브젝트에 대한 렌더링 계산을 수행하지 못하도록 하는 프로세스입니다. 프레임마다 카메라는 씬의 렌더링을 검사하고 그릴 필요가 없는 오브젝트를 제외(컬링)합니다.

 

최종 화면에 그려지지 않을 오브젝트를 그리는 연산을 수행하는 것은 CPU와 GPU의 자원을 낭비하게 되므로 이를 줄이기 위해서 사용합니다.


LOD

3D모델링은 복잡할수록 데이터의 용량이 커져서 렌더링시 부하가 생길 수 있습니다. 이를 처리하기 위한 방법입니다. LOD(Level Of Detail)는 메쉬 모델링 데이터를 단계별로 저장하는 기술입니다. 렌더링 된 이미지의 큰 기여도가 적을 시 간략하게 표현하는 방법입니다.

 

LOD에는 정적 LOD와 동적 LOD로 나눌 수 있습니다.

정적 LOD는 카메라와 물체의 거리에 따라서 가까운 거리에 있는 오브젝트에 대해 정밀한 메쉬를 사용하고 멀리 있는 오브젝트에 대해 상대적으로 낮은 단계를 사용하는 방식입니다. 메쉬의 정밀도가 정해져 있는데 이를 카메라의 거리에 따라서 바꾸게 됩니다.

 

동적 LOD는 거리에 따라서 실시간으로 메쉬의 정밀도를 변화시키는 방식입니다. 거리에 따라 정밀도가 바뀌는 방식이기 때문에 메모리의 낭비가 적은 장점이 있지만 메쉬 분할이나 간략화에 따른 추가적인 연산이 많이 필요해서 렌더링 속도가 상대적으로 느려지는 단점이 있습니다.

LOD 단계에 따른 렌더링

 

'공부 > 3D과제' 카테고리의 다른 글

미니맵 만들기  (0) 2023.08.22
손전등 만들기  (0) 2023.08.22
렌더 투 텍스쳐, 포스트 이펙트, 블러  (0) 2023.08.07
Directional Light, Spot Light, Point Light  (0) 2023.08.01
큐브 맵, 사운드 로드  (0) 2023.07.28
Comments