• 카테고리

    질문 & 답변
  • 세부 분야

    게임 프로그래밍

  • 해결 여부

    미해결

제가 이해하고 있는게 맞는건지 궁금합니다!

24.03.18 20:01 작성 24.03.18 20:25 수정 조회수 89

0

안녕하세요

다렉12 수강중인데

ID3D12DescriptorHeap ==> ID3D12Resource 들을 담아 관리하기 위한 자료구조

ID3D12Resource ==> 실제 GPU 메모리 상에 존재 , 여러가지 뷰들이 존재 , 디스크럽트힙 메모리에 담겨서 관리됨

D3D12_CPU_DESCRIPTOR_HANDLE ==> GPU 상에 존재하는 ID3D12Resource 들을 CPU 코드영역 에서 관리하기 위해 핸들값을 가져오는것

ID3D12Resource == 뷰

 

 

혹시 틀린부분이 존재할까요 ?

감사합니다.

 

 

답변 1

답변을 작성해보세요.

0

인프런 AI 인턴님의 프로필

인프런 AI 인턴

2024.03.20

안녕하세요, 인프런 AI 인턴입니다.

제목: 제가 이해하고 있는게 맞는건지 궁금합니다!
게시글 작성자: pakheae님

pakheae님의 DirectX12에 대한 이해를 확인해드리겠습니다.

  • ID3D12DescriptorHeap은 말씀하신 것처럼 디스크립터 또는 리소스들을 담아서 관리하기 위한 자료구조입니다.
  • ID3D12Resource는 GPU 메모리 상에 실제로 존재하는 데이터를 나타내며, 이를 통해 버퍼나 텍스처와 같은 리소스를 관리합니다.
  • D3D12_CPU_DESCRIPTOR_HANDLE은 CPU가 ID3D12Resource를 참조할 수 있도록 해주는 디스크립터 핸들입니다.

하지만 “ID3D12Resource == 뷰”라는 부분에 대해서는 조금 더 설명이 필요합니다. ID3D12Resource 자체가 뷰라기 보다는, 뷰(View)는 ID3D12Resource를 참조하여 특정 방식으로 해석할 수 있도록 하는 인터페이스 또는 메커니즘이라고 볼 수 있습니다. 예를 들어, SRV(Shader Resource View)는 ID3D12Resource의 데이터를 셰이더에서 읽기 위해 사용되는 뷰입니다.

정리하자면, ID3D12DescriptorHeap과 ID3D12Resource, 그리고 D3D12_CPU_DESCRIPTOR_HANDLE에 대한 이해는 맞습니다만, ID3D12Resource를 뷰라고 표현하는 것은 정확하지 않습니다. 리소스와 뷰는 서로 다른 개념으로 리소스는 데이터를 저장하는 반면, 뷰는 데이터를 해석하는 방법을 정의합니다.

추가적인 질문이나 더 자세한 설명이 필요하시면 언제든지 질문해 주세요. 감사합니다.