본문 바로가기

프로그래밍/공부44

[DirectX] LOD(Level of Detail) Level of Detail(이하 LOD)는 컴퓨터 그래픽 렌더링에서 사용되는 최적화 기법이다. 카메라와 객체의 거리가 멀 경우 성능 향상을 위해 객체의 모델 디테일을 다르게 표현하는 방법으로, 멀리서 볼 때는 단순한 모델을 사용하고 점점 가까워지면 고품질의 모델을 사용하여 시각적인 품질과 성능의 균형을 잡는 방법이다. 다양한 LOD 기술이 있지만 일반적으로 두 가지의 방법이 사용된다. 1. 기하학적 LOD(Geometric LOD) 객체의 기하학적인 디테일을 조절하여 다양한 레벨의 모델을 생성하고 사용하는 방법. 이를 통해 더 높은 LOD에서는 더 많은 폴리곤을 가진 디테일한 모델을 사용하고, 더 낮은 LOD에서는 폴리곤 수가 적은 단순한 모델을 사용할 수 있다. 2. 텍스쳐 LOD(Texture LO.. 2023. 8. 24.
[DirectX] 오클루전 컬링(Occlusion Culling) 현재 객체가 시야 공간에서 바라봤을 때, 다른 객체에 가려지게 된다면 렌더링을 하지 않는 기술을 오클루전 컬링이라고 한다. 오클루전 컬링은 렌더링해야 하는 오브젝트의 수를 줄여 렌더링 성능을 개선하는 데 사용되는 기술이다. 오브젝트 뒤에 있어 보이지 않는 오브젝트 같은 것을 걸러 내어 드로우 콜 수를 줄여주는 효과가 있다. 시야 공간 내부에 있는 객체들의 깊이 버퍼 값을 비교해서 깊이 버퍼 값이 작은 객체가 있을 경우 렌더링을 호출하지 않는 등의 방법을 통해 구현할 수 있다. 2023. 8. 24.
[DirectX] 절두체 컬링(Frustum Culling), 클리핑(Clipping) 절두체 컬링(Frustum Culling) 모니터에 출력되는 화면은 가상의 카메라가 바라보는 3차원의 공간을 2차원으로 변환한 것이다. 이를 그림으로 그리면 다음과 같다. 위 시야 공간처럼 사각뿔에서 머리가 잘린 모양을 절두체라고한다. 이 시야 공간 내부 좌표에 객체가 존재할 경우 화면에 렌더링이 되어 우리 눈에 보여지게 된다. 만약 월드 공간에 존재하는 객체가 이 시야 공간 밖에 존재할 경우 렌더링은 어떻게 이뤄질까? 답은 간단하다. 픽셀을 그릴 공간이 없기 때문에 그리지 않는다. 픽셀은 NDC 좌표계를 기준으로 -1에서부터 1 사이의 좌표값을 가진 픽셀을 화면에 그린다. 애초에 절두체 밖에 존재하는 경우 NDC 좌표가 이 값들을 벗어나기 때문에 픽셀 셰이더를 거치지 않는다. 하지만 드로우 콜을 계속 .. 2023. 8. 23.
[Graphics] 블러(Blur) 효과 블러 효과는 화면 전체 혹은 개별 물체를 뿌옇게 만드는 데 사용한다. 또한 블러 효과를 베이스로 하여 많은 그래픽 효과를 만들어 내는데 다음과 같은 예가 있다. 블룸 뎁스 오브 필드 풀스크린 글로우 글로우 매핑 헤일로/엣지 글로우 부드러운 그림자 경계 흐려진 라이트 트레일 물속 효과 등... 위 효과들의 기초가 되는 블러 효과는 이미 렌더링 된 이미지에 후처리를 하는 포스트 이펙트, 혹은 포스트 프로세싱이라고 불리는 기법을 사용한다. [Graphics] Post Effect 포스트 이펙트 혹은 포스트 프로세싱이라고 부르는 기술은 일반적으로 렌더링 이후 추가되는 효과를 위한 기술이다. 최종적으로 렌더링이 완료된 이미지에 시각적 효과를 추가하기 위해 사용 eunsikk.tistory.com 블러 알고리즘 화.. 2023. 8. 7.