개발자 면접 공부/그래픽스

그래픽스 컬링(Culling) 기법

chogyujin 2022. 7. 21. 00:04
728x90

오늘은 컬링(Culling) 기법에 대해 공부하도록 하겠습니다.

컬링 기법이란 실시간 렌더링 방식의 3D 게임 내에서 렌더링 할 필요가 없는 요소들을 선별해

제외하여 렌더링 시 부하를 줄어 주는 방법중 하나입니다.

ex) 물체의 뒷면, 오브젝트 뒤에 가려져 있는 요소들(실제로는 존재하나 눈(카메라)에 보이지 않는것)
이러한 요소들을 렌더링 시 제외시켜버립니다.

이러한 이유로 컬링 기법은 가시성 선별 (Visiblity Culling) 기법 이라고 부릅니다.

출처 : https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=tosios&logNo=220661596452

위의 사진을 보다시피 카메라는 플레이어의 화면에 출력되는 시점 입니다.

파란색 사각형은 플레이어 화면에 보일수 있게 렌더링 중인 모델입니다.

하지만 빨간색 원모양은 플레이어 시점에서 보이지가 않습니다(뒤에 가렸거나, 카메라 밖에있음) 그러므로
렌더링을 하지 않고 퍼포먼스를 아끼기 위해 사라져있습니다(추후 렌더링)


1. 후면 선별(BackFace Culling)
컬링 기법 중 후면 선별은 물체의 뒷부분을 렌더링에서 배제하는 컬링 기법입니다.
후면 선별 기법은 렌더링 절차에서 적용되는 방법으로, 그래픽 디자이너나 레벨 디자이너가 별도로 이 부분을
정의안해줘도 괜찮습니다.(언리얼에 to side라는 디테일 패널에서 설정하면 뒷까지 그려준다)

 


2. 시각절두체 선별(Frustrum Culling)

시각절두체 선별 기법은 카메라의 시야 법위 외의 개체들을 선별해 이들을 렌더링에서 제외시키는 기법입니다.

물론 개체의 일부라도 시야 범위 내에 있다면 정점 데이터를 다시 만들어 즉각 렌더링합니다.

카메라의 화각의 측면이나 후면부에 위치한 개체들을 렌더링에서 배제시킵니다.


3. 차페 선별(Occlusion Culling)

차폐 선별 기법은 앞에 있는 물체에 의해 완전히 가려진 뒤쪽의 물체를 렌더링에서 배제하는 방식입니다.

게임의 레벨 디자인 단계에서 이 기법은 매우 유용한 최적화 기술 중 하나입니다.

차폐 선별은 특히 FPS 레벨 설계에서 많이 사용하며 시가지 레벨 구성에 매우 핵심적인 기법입니다.