장치 초기화 - DescriptorHeap

이승덱·2021년 7월 27일
0

Graphics&DirectX

목록 보기
5/37

DescriptorHeap

  • 렌더링 과정에서 GPU자원들에 자료를 기록하거나 자원(resource)들에서 자료를 읽어들이고 그리기 명령을 제출할 때 먼저 참조된 자원들을 렌더링 파이프라인에 묶어야(binding)해야한다. 이 때 GPU 자원들을 직접 묶지 않고 해당 자원을 참조하는 서술자(Descriptor)를 묶는다.

  • 즉, Descriptor는 Resource를 GPU에게 서술하는 자료구조이다.

  • View에는 여러가지 종류가 있다.

    • 상수 버퍼 뷰(CBV: Constant Buffer View)
    • 렌더 타겟 뷰(RTV: Render Target View)
    • 깊이 스텐실 뷰(DSV: Depth Stencil View)
  • resource에게 "어떻게 리소스를 사용 할 지" 에 대한 정보를 정의하는 것이 Descriptor이고 그것을 배열의 형태로 모아둔 것이 DescriptorHeap이다.

Resource

  • 셰이더(shader)에게 넘겨줘야 하는 모든 데이터들을 리소스(Resource)라고 한다. Resource는 텍스처와 버퍼 두 종류로 구분된다.

  • 텍스처(Texture)

    • 이미지, 그림데이터를 의미한다.
  • 버퍼(Buffer)

    • 그림이 아닌 데이터를 의미한다.

결론

1. 리소스(Resource)는 텍스처(Texture)와 버퍼(Buffer) 두가지 종류가 있고 서술자(Descriptor)를 통해 묘사되어 사용된다.

2. GPU는 서술자(Descriptor)를 통해 값을 Read하기 때문에 각기 다른 View(CBV,RTV,DSV...등등)으로 묘사하여 GPU에게 제공한다.

profile
공부 기록용 블로그입니다

0개의 댓글