Свойства ресурсов (Direct3D 9)
Все ресурсы имеют следующие свойства.
- Использование. Способ использования ресурса, например, в качестве текстуры или целевого объекта отрисовки.
- Выполните форматирование. Формат данных, например формат пикселей двухD-поверхности.
- Бассейн. Тип памяти, в которой выделен ресурс.
- Введите , Тип ресурса, например буфер вершин или целевой объект отрисовки.
Использование ресурсов применяется принудительно. Приложение, которое будет использовать ресурс в определенной операции, должно указывать ее во время создания ресурса. Список констант использования, определенных для ресурсов, см. в разделе D3DUSAGE.
Константы D3DUSAGE_RTPATCHES, D3DUSAGE_NPATCHES и D3DUSAGE_POINTS указывают драйверу, что данные в этих буферах, скорее всего, будут использоваться для треугольных исправлений или исправлений сетки, N-исправлений или точечных спрайтов соответственно. Эти флаги предоставляются в случае, если оборудование не может выполнить эти операции без обработки узла. Поэтому драйверу потребуется выделить эти поверхности в системной памяти, чтобы ЦП мог получить к ним доступ. Если драйвер может выполнять эти операции полностью на оборудовании, он может выделить эти поверхности в видео или памяти AGP, чтобы избежать копирования узла и повысить производительность по крайней мере в два раза. Обратите внимание, что информация, предоставляемая этими флагами, не является абсолютно обязательной. Драйвер может обнаружить, что такие операции выполняются с данными, и он переместит буфер обратно в системную память для последующих кадров.
Дополнительные сведения о флагах использования и их связи с конкретными ресурсами см. на справочных страницах по методам создания отдельных ресурсов.
Сведения о формате поверхности ресурсов см. в разделе Перечислимый тип D3DFORMAT .
Класс памяти, содержащий буферы ресурса, называется пулом. Значения пула определяются перечисляемым типом D3DPOOL . Пул не может быть смешан для различных объектов, содержащихся в одном ресурсе, то есть уровней MIP в MIP-карте, и при выборе пула для ресурса невозможно изменить пул.
Типы ресурсов задаются неявно во время выполнения, когда приложение вызывает метод создания ресурсов, например IDirect3DDevice9::CreateCubeTexture. Типы ресурсов определяются перечисляемым типом D3DRESOURCETYPE . Приложения могут запрашивать эти типы во время выполнения; однако ожидается, что в большинстве сценариев не требуется проверка типа во время выполнения.
Связанные темы