5. Multi Render Target

DV·2024년 5월 10일

DirectX_3D

목록 보기
6/13

📒Render Target


📌OM Set

DX11 기준
: Render Target과 Depth Stencil Texture를 같이 묶어서 세팅해줌

  • Render Target: 최대 8장 지정 가능
  • Depth Stencil Texture: 1장만 지정 가능

📒Multi Render Target(MRT) Class 설계


📌MRT Class

: RenderTarget arr와 DS를 모아 관리

  • 더이상 Device가 직접 RenderTarget을 관리할 필요 없음

[Code Flow]

  • MRT Create & Clear: RenderMgr
    • RenderMgr에서 MRT 생성 후 들고 있는 구조
    • 즉, 모든 MRT는 RenderMgr에서 들고 있음
  • OM Set: render 시
    • 사용하는 셰이더에 따라 적절한(정해진) MRT로 OMSet 해줌

📌MRT Type

  • MRT는 여러 타입이 있을 수 있음
  • 용도에 따라 MRT를 바꿔가며 렌더 찍어 사용

[Texture Format]
: MRT에서 Position 등의 정보를 Texture로 저장해 전달하기도 함

  • Position 등은 큰 숫자를 저장할 수 있어야 함
  • R8G8B8 : 부동소수점을 저장하기에 8bit는 너무 작음
  • R32G32B32 : 큰 데이터를 저장하기 위해선 32bit Format으로 설정해야 함

📌대략적인 Rendering 순서

  1. Deffered
    : 정보를 남겨두고 취합하는 렌더링
  • 다른 연산에서 사용하기 위한 정보를 연산하는 렌더링
  • 한 번의 연산으로 완성되지 않음, 다른 곳에서 가져다 사용하는 용
  • ex) DEFFERED, DECAL, LIGHTING ...
  1. Merge
    : Deferred에 기록된 정보를 메인렌더에 병합시켜야 함

  2. Forward
    : 한 번의 연산으로 완성되는 렌더링

  • Forward를 통해 AlphaBlend를 처리할 수 있음

0개의 댓글