렌더링파이프라인 3

[Rendering Pipeline] 후처리 시 스왑체인과 백버퍼에 대한 이해

후처리란 그래픽스 렌더링 파이프라인에서 최종 화면 이미지(Frame Buffer)에 다양한 효과를 적용해 시각적 품질을 개선하거나 특정 분위기를 연출하는 과정입니다. 이는 렌더링된 기본 이미지 위에 추가적인 작업을 수행하는 것을 의미합니다. 즉 렌더링 된 이미지에 추가 작업을 해야하는데요. 프론트 버퍼는 스크린에 출력된 상태이고, 백버퍼는 다음 프레임에 나올 렌더링 상태를 저장하고 있습니다. 흔히 우리가 Render함수에서 렌더되는 과정은 백버퍼에 그리는 과정입니다. 후처리는 백버퍼에 다 그려진 렌더링 상태를 가지고 추가 작업을 수행해 주는 것 입니다. 이 과정을 수행하기 위해, 첫 초기화 시 백버퍼에 RTV(Render Target View) 뿐만이 아니라 SRV(Shader Resource View)..

그래픽스 기술 2024.12.12

[렌더링파이프라인] 구 Mapping의 원리

구를 그릴 때, 실린더를 그리고 위 아래의 vertex를 붙이는 방법으로 그리는 법과, 정n면체를 그리고 subdivision을 통해 구를 그리는 방법이 있습니다. 실린더의 방법으로 그리고 subdivision을 하면 wireframe으로 봤을 때 삼각형의 크기가 균일하지 않습니다. 실린더의 삼각형들의 크기가 애초에 다 다른데, 그 상태에서 subdivision을 하기 때문입니다.  하지만 정n면체는 각 삼각형의 크기가 모두 같기 때문에 삼각형의 크기가 균일하다는 장점이 있습니다. 하지만, 텍스춰링을 할 때 마지막 끝 vertex가 두개가 아니라 하나이기 때문에, 잘리는 현상이 발생합니다. 왜냐하면 마지막 끝 점을 두개로 나누지 않으면 마지막 삼각형에서 interpolation을 0~0.9..사이의 값을..

그래픽스 기술 2024.12.05

[Rasterization] 버텍스 쉐이딩과 픽셀 쉐이딩 개념 + 뒷면 제거

쉐이딩이란 3D 그래픽스에서 물체의 표면이 어떻게 빛을 받아 표현되는지를 계산하는 과정입니다.쉐이딩을 할 때 크게 두가지로 나뉘는데 첫번째는 버텍스 쉐이딩이고 두번째는 픽셀 쉐이딩입니다. DirectX에는 픽셀쉐이딩이라고 하지만 OpenGl에서는 프래그먼트 쉐이딩이라고 합니다. 순서는 버텍스 쉐이딩이 먼저고 그 다음에 픽셀 쉐이딩을 합니다. DirectX내부에서는 모든 물체를 삼각형을 통해 그리는데, 이 삼각형들을 꼭짓점이 버텍스 입니다. 버텍스들을 이리저리 움직여서 물체의 '상'을 나타내는 작업을 버텍스 쉐이딩이라고 합니다. 그 다음 정해진 삼각형에 해당하는 픽셀들에 값을 넣어야하는데, 이 작업을 픽셀 쉐이딩이라고 합니다. 둘을 나눠야지만 움직임과 색을 입히는 작업을 나눠서 할 수 있습니다. 예를들어,..

그래픽스 기술 2024.10.29