리소스 바인딩
바인딩은 리소스 개체를 그래픽 파이프라인의 셰이더에 연결하는 프로세스입니다.
섹션 내용
항목 | 설명 |
---|---|
리소스 바인딩 개요 | DirectX 12의 리소스 바인딩 키는 설명자, 설명자 테이블, 설명자힙 및 루트 서명의 개념입니다. |
Direct3D 11 바인딩 모델과의 차이점 | DirectX12 바인딩에 사용된 기본 설계 결정 중 하나는 다른 관리 작업과 분리하는 것입니다. 이 결정에 따라 특정 잠재적인 위험을 관리하기 위한 요구 사항이 앱에 적용됩니다. |
설명자 | 설명자는 D3D12에서 단일 리소스에 대한 바인딩의 기본 단위입니다. |
설명자 힙 | 설명자 힙은 설명자의 연속 할당 컬렉션으로, 모든 설명자에 대한 하나의 할당입니다. |
설명자 테이블 | 설명자 테이블은 논리적으로 설명자의 배열입니다. |
루트 서명 | 루트 서명은 그래픽 파이프라인에 바인딩된 리소스 종류를 정의합니다. |
기능 쿼리 | 애플리케이션은 ID3D12Device::CheckFeatureSupport를 호출하여 리소스 바인딩 및 기타 많은 기능에 대한 지원 수준을 검색할 수 있습니다. |
HLSL의 리소스 바인딩 | 이 항목에서는 Direct3D 12에서 HLSL(High Level Shader Language) 셰이더 모델 5.1 을 사용하는 몇 가지 특정 기능에 대해 설명합니다. 모든 Direct3D 12 하드웨어는 셰이더 모델 5.1을 지원하므로, 이 모델에 대한 지원은 하드웨어 기능 수준에 따라 달라지지 않습니다. |
UMA 최적화: CPU 접근성 텍스처 및 표준 스위즐 | UMA(Universal Memory Architecture) GPU는 특히 모바일 디바이스용으로 최적화할 때 개별 GPU에 비해 효율성이 약간 더 높습니다. GPU가 UMA일 때 리소스에 CPU 액세스 권한을 부여하면 CPU와 GPU 사이에 발생하는 복사의 양을 줄일 수 있습니다. UMA 설계에서 애플리케이션이 모든 리소스에 대한 CPU 액세스를 무조건 제공하는 것은 좋지 않지만, 적합한 리소스에 CPU 액세스를 제공하면 효율성을 개선할 수 있습니다. 개별 GPU와 달리, CPU에는 GPU가 액세스할 수 있는 모든 리소스에 대한 포인터가 기술적으로 포함될 수 있습니다. |
형식화된 UAV(순서가 지정되지 않은 액세스 뷰) 로드 | UAV(순서가 지정되지 않은 액세스 뷰) 형식화된 로드는 셰이더가 특정 DXGI_FORMAT 있는 UAV에서 읽을 수 있는 기능입니다. |
볼륨 타일식 리소스 | 볼륨(3D) 질감은 타일식 리소스로 사용할 수 있으며 타일 해상도는 3차원입니다. |
하위 리소스 | 리소스를 하위 리소스로 분할하는 방법 및 단일 또는 여러 하위 리소스나 하위 리소스 조각을 참조하는 방법을 설명합니다. |