[DX11] 렌더링 파이프라인

LeeTaes·2024년 1월 4일
0

DirectX

목록 보기
5/9

렌더링 파이프라인


  • 렌더링 파이프 라인은 GPU를 사용해 리소스들을 2D 이미지로 렌더링하는 과정을 의미합니다.
  • 여러 개의 단계로 구성되어 있으며 각 단계에 대해 간단히 설명해보겠습니다.

1. IA 단계

  • 사용자가 채워진 버퍼에서 기본 데이터(정점)를 읽고 다른 파이프라인 단계에서 사용할 기본 형식으로 데이터를 모으는 단계
  • 즉, 메모리(CPU)에서 정점 데이터와 인덱스를 읽어 기본 도형을 조립하는 단계입니다.

2. VS 단계

  • IA에서 모은 데이터를 처리하여 변환, 스키닝 등의 작업을 수행하는 단계
  • 모든 정점들에 대해 한 번씩 수행됩니다.
  • 변환 : IA에서 넘어온 물체는 Local Space의 좌표를 가지고 있는데 이를 World -> View -> Projection 등의 변환 행렬을 적용시켜 3D 공간을 2D 이미지로 만들어 줄 수 있습니다.

3. TS 단계

  • 표면의 디테일을 동적으로 증가시키거나 감소시키는 역할을 수행하는 단계입니다.
  • 주로 모델의 표면 디테일을 동적으로 조절하여 멀티 레벨의 디테일(LOD)을 나타낼 때 사용됩니다.
  • LOD : 카메라에 가까운 삼각형들은 테셀레이션을 적용해 세밀한 구현, 멀리있는 삼각형들은 테셀레이션 적용 X

4. GS 단계

  • VS 단계의 처리를 거친 정점 데이터에 정보를 추가하거나 삭제하여 다른 여러 기본 도형으로 확장하거나 출력하지 않고 삭제할 수도 있습니다.
  • 즉, 기하적인 변환 및 조작, 기본 도형의 생성 및 제거, 추가적인 데이터 전달 역할을 수행합니다.

5. RS 단계

  • 실시간 3D 그래픽을 표시하기 위해 벡터 정보를 픽셀로 변환하는 단계입니다.
  • Rasterization을 하는 동안 기본 도형을 구성하는 정점은 픽셀로 변환되며, 내부에 해당되는 점들은 보간을 통해 픽셀로 변환됩니다.
  • 또한, VS 단계에서 Projection 변환 행렬을 통해 전달된 값을 z 나누기 등을 통해 2차원 Viewport로 매핑시켜주는 역할을 합니다.

6. PS 단계

  • PS 단계는 Constant Buffer, Texture 등의 데이터를 적용시켜 각 화면 픽셀의 색상 및 효과를 제어해 픽셀의 출력 색상을 결정합니다.

7. OM 단계

  • 픽셀 셰이더에서 생성된 픽셀 데이터, 렌더링 대상의 내용 및 깊이/스텐실 버퍼의 내용을 조합하여 최종 렌더링된 픽셀 색을 생성하는 역할을 수행합니다.

참고 자료
https://learn.microsoft.com/ko-kr/windows/win32/direct3d11/overviews-direct3d-11-graphics-pipeline
https://novemberfirst.tistory.com/27

profile
클라이언트 프로그래머 지망생

0개의 댓글