Привязка ресурсов

Привязка — это процесс связывания объектов ресурсов с шейдерами графического конвейера.

В этом разделе

Раздел Описание
Общие сведения о привязке ресурсов Ключом к привязке ресурсов в DirectX 12 являются понятия дескриптора, таблиц дескрипторов, кучи дескрипторов и корневой сигнатуры.
Различия в модели привязки от Direct3D 11 Одно из main решений по проектированию привязки DirectX12 заключается в том, чтобы отделить его от других задач управления. Это накладывает некоторые требования к приложению для управления определенными потенциальными опасностями.
Дескрипторы Дескрипторы — это основная единица привязки для одного ресурса в D3D12.
Кучи дескрипторов Куча дескрипторов — это коллекция непрерывных выделений дескрипторов, по одному выделению для каждого дескриптора.
Таблицы дескрипторов Таблица дескрипторов логически является массивом дескрипторов.
Корневые подписи Корневая сигнатура определяет, какие типы ресурсов привязаны к графическому конвейеру.
Запрос возможностей Приложение может обнаружить уровень поддержки привязки ресурсов и многие другие функции с помощью вызова ID3D12Device::CheckFeatureSupport.
Привязка ресурсов в HLSL В этом разделе описываются некоторые особенности использования модели шейдера HLSL 5.1 с Direct3D 12. Все оборудование Direct3D 12 поддерживает модель шейдера 5.1, поэтому поддержка этой модели не зависит от уровня компонентов оборудования.
Оптимизация UMA: доступные для ЦП текстуры и стандартный Swizzle GPU универсальной архитектуры памяти (UMA) обеспечивают некоторые преимущества эффективности по сравнению с дискретными GPU, особенно при оптимизации для мобильных устройств. Предоставление ресурсам доступа к ЦП, если GPU имеет значение UMA, может уменьшить объем копирования между ЦП и GPU. Хотя мы не рекомендуем приложениям слепо предоставлять доступ к ЦП ко всем ресурсам в проектах UMA, существуют возможности для повышения эффективности, предоставляя доступ к ЦП нужным ресурсам. В отличие от дискретных GPU, ЦП технически может иметь указатель на все ресурсы, к которым может получить доступ GPU.
Загрузка типизированного представления неупорядоченного доступа Типизированное представление неупорядоченного доступа (UAV) — это возможность для шейдера считывать данные из БПЛА с определенным DXGI_FORMAT.
Объемные плиточные ресурсы Объемные (трехмерные) текстуры можно использовать в качестве мозаичного ресурса, отметив, что разрешение плиток является трехмерным.
Подресурсы Описывается, как ресурс делится на подресурсы и как ссылаться на один, несколько или срез вложенных ресурсов.