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


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

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

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

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

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

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

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

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

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

ресурсы Direct3D