본문 바로가기
공부/Graphics

[Graphics] 오클루전 컬링(Occlusion Culling)

by MY블로그 2023. 8. 23.

Occlusion Culling ?

오클루전 컬링은 컴퓨터 그래픽스에서 렌더링 성능을 향상시키기 위한 기술 입니다.

다른 물체의 뒤에 있어서 가려진 물체를 식별하여 불필요하다 판단된 객체를 식별하여 렌더링 과정에서 제외시키는 기술 입니다.

즉, 보는 시야에 들어오지 않는 객체는 렌더링 하지 않으므로 성능을 높일 수 있습니다.

https://www.researchgate.net/figure/Three-types-of-visibility-culling-techniques-1-View-Frustum-Culling-2-back-face_fig1_2440562

위의 이미지는 기존에 정리한 프러스텀(+컬링),백페이스컬링 그리고 오클루전컬링을 쉽게 이해할 수 있습니다.

 

오클루전 컬링은 아래의 단계로 작동합니다.

1. 가시성 정보 수집

카메라 위치에서 볼 수 있는 영역을 가리키는 시야 프러스텀(View Frustum)을 계산합니다.

그 후 프러스텀 내에서 어떤 객체가 얼마나 보이는지를 판단하는 가시성 정보를 수집합니다.

2. 오클루전 정보 생성

화면에서 보이지 않는 물체를 가려지는 물체로 판단하고 오클루전 정보를 생성하도록 합니다.

정보는 렌더링 대상이 아닌 개체들을 식별하고 표시하게 됩니다.

3. 오클루전 컬링 진행

렌더링 단계에서 2단계에서 알게된 정보를 사용하여 시야에 보이지 않는 개체들을 제외시키도록 합니다.

 

오클루전 컬링은 복잡한 3D 환경에서 특히 유용한 기술이라고 합니다.

큰 맵 또는 수많은 객체들로 이루어진 3D 공간내에서는 모든 객체를 렌더링하는 것은 효율적이지 못하고 성능의 저하를 유발하게 됩니다.

이런 경우 오클루전 컬링을 적용하여 시야에들어오는 최소한의 대상만을 렌더링하기 때문에 프레임을 향상시키고 자원을 효율적으로 사용할 수 있습니다.

 

댓글