Поделиться через


Свойства ресурсов (Direct3D 9)

Все ресурсы имеют следующие свойства.

  • Использование. Способ использования ресурса, например, в качестве текстуры или целевого объекта отрисовки.
  • Выполните форматирование. Формат данных, например формат пикселей двухD-поверхности.
  • Бассейн. Тип памяти, в которой выделен ресурс.
  • Введите , Тип ресурса, например буфер вершин или целевой объект отрисовки.

Использование ресурсов применяется принудительно. Приложение, которое будет использовать ресурс в определенной операции, должно указывать ее во время создания ресурса. Список констант использования, определенных для ресурсов, см. в разделе D3DUSAGE.

Константы D3DUSAGE_RTPATCHES, D3DUSAGE_NPATCHES и D3DUSAGE_POINTS указывают драйверу, что данные в этих буферах, скорее всего, будут использоваться для треугольных исправлений или исправлений сетки, N-исправлений или точечных спрайтов соответственно. Эти флаги предоставляются в случае, если оборудование не может выполнить эти операции без обработки узла. Поэтому драйверу потребуется выделить эти поверхности в системной памяти, чтобы ЦП мог получить к ним доступ. Если драйвер может выполнять эти операции полностью на оборудовании, он может выделить эти поверхности в видео или памяти AGP, чтобы избежать копирования узла и повысить производительность по крайней мере в два раза. Обратите внимание, что информация, предоставляемая этими флагами, не является абсолютно обязательной. Драйвер может обнаружить, что такие операции выполняются с данными, и он переместит буфер обратно в системную память для последующих кадров.

Дополнительные сведения о флагах использования и их связи с конкретными ресурсами см. на справочных страницах по методам создания отдельных ресурсов.

Сведения о формате поверхности ресурсов см. в разделе Перечислимый тип D3DFORMAT .

Класс памяти, содержащий буферы ресурса, называется пулом. Значения пула определяются перечисляемым типом D3DPOOL . Пул не может быть смешан для различных объектов, содержащихся в одном ресурсе, то есть уровней MIP в MIP-карте, и при выборе пула для ресурса невозможно изменить пул.

Типы ресурсов задаются неявно во время выполнения, когда приложение вызывает метод создания ресурсов, например IDirect3DDevice9::CreateCubeTexture. Типы ресурсов определяются перечисляемым типом D3DRESOURCETYPE . Приложения могут запрашивать эти типы во время выполнения; однако ожидается, что в большинстве сценариев не требуется проверка типа во время выполнения.

Ресурсы Direct3D