00 렌더링 파이프라인

한경식·2024년 12월 17일
post-thumbnail

  • Input Assembler(IA)
    • 정점 데이터를 받아 그래픽 파이프 라인으로 전달하는 역할
    • Index Buffer, Vertex Buffer 리소스 사용 가능
  • Vertex Shader(VS)
    • 각 정점의 위치 및 기타 속성을 처리하는 단계
    • Vertex Shader는 텍스처 좌표와 같은 추가 데이터를 계산하고 변환 가능
    • Sampler와 Constant Buffer를 사용할 수 있으며, 샘플러는 최대 16개, 상수 버퍼는 최대 14까지 사용 가능
  • Hull Shader
    • 테셀레이션이 활성화된 경우, 곡면(패치)를 정의하여 Tessellator에 전달하는 단계
    • Sampler와 Constant Buffer를 사용할 수 있음
  • Tessellator
    • 정점 데이터를 추가적으로 세분화하여 더 많은 정점을 생성하는 단계
    • 물체의 곡선이나 복잡한 모양을 더 세밀하게 표현
  • Domain Shader
    • 테셀레이션된 정점을 처리하여 최종 위치와 속성을 결정하는 단계
  • Geometry Shader
    • 삼각형, 점, 선과 같은 기본 도형을 조작하고 새로운 도형을 생성할 수 있는 단계
    • Stream Output을 통해 데이터를 외부 버퍼로 출력 가능
  • Rasterizer
    • 3D 데이터를 2D 화면에 렌더링할 준비를 하는 단계
    • 각 픽셀에 대한 정보가 설정 됨
    • 깊이 및 스텐실 테스트를 수행하고, 각 픽셀의 위치 결정
  • Pixel Shader
    • 각 픽셀의 색상과 텍스처를 계산하여 최종 이미지를 구성하는 단계
    • sampler와 Constant Buffer를 사용할 수 있다
    • Texture Buffer는 최대 128개까지 사용 가능
  • Output Merger(출력 병합기)
    • 최종 픽셀 데이터를 받아 렌더 타겟에 병합하고 출력
    • 깊이 및 스텐실 버퍼와 렌더 타겟을 사용하여 최종 이미지 생성
    • Depth/Stenci과 Render Target리소스를 사용
    • 최대 8개 Render Target 허용
profile
게임 개발 지망생

0개의 댓글