Cullling이란,
그래픽스 파이프라인에서 무언가를 그릴 지 말 지를 결정하는 과정이다.
대표적으로 Back-face culling이 있는데, 이는 폴리곤의 화면에 보이지 않는 안쪽 부분을 굳이 렌더링하지 않는 것을 의미한다. (이는 GPU 단에서 각 폴리곤의 normal vector/법선벡터를 확인해 처리해준다)
Frustum Culling이란,
카메라 시야각 내에 보이는 오브젝트만을 렌더링하는 기법으로 이는 GPU가 아닌 CPU단에서 연산되는 일종의 전처리이며, 여기서 걸러지는 오브젝트들은 애초에 GPU로 보내지지 않는다.
구체적으로 판정하는 방법은,
그래픽 오브젝트 별로 Collision 판정을 할 범위를 3차원 물체로 설정하고 (주로 직육면체 혹은 구를 사용한다)
그 물체가 카메라 시야각을 나타내는 3차원 잘린 피라미드(truncated pyramid)와 충돌하는지 안하는지를 판정하는 형식으로 이루어진다.
정확히는 어떤 정점이 이 잘린 피라미드의 각 면들에 대해 면 법선벡터 양의 방향에 있는지, 음의 방향에 있는지를 판별해 카메라 시야각 안에 해당 정점이 들어와 있는지를 판정하고 이를 이용해 어떤 오브젝트를 렌더링할 지 결정한다.
이같은 연산의 수학적 원리에 대해서는 이 포스트에서 설명한다.
참고:
#2 View Frustum culling에 관하여
카테고리를 그래픽스로 할까 OpenGL로 할까 굉장히 고민을 많이했다(...) 일단 이론쪽에 가까워서, 그래픽스 카테고리로 결정했다. 그래픽스 파이프라인에서 culling이란, "어떤것을 그릴 지 말지 결
ally10.tistory.com
https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=sipack7297&logNo=220438495355
[D3D] 7장 : 절두체 컬링(Frustum Culling)
절두체 컬링(Frustum Culling) - 3차원 월드에는 대단히 많은 폴리곤과 오브젝트가 있지만, 이들 중에서 ...
blog.naver.com
https://www.youtube.com/watch?v=4p-E_31XOPM
'computer graphics > graphics theory' 카테고리의 다른 글
[그래픽스] Skeletal Animation/Rigging (0) | 2022.06.18 |
---|