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


D3DUSAGE

Параметры использования, определяющие способ использования ресурсов.

В следующей таблице перечислены доступные параметры использования.

Постоянный Описание
D3DUSAGE_AUTOGENMIPMAP
Ресурс автоматически создает MIP-карты. См. автоматическое создание Mipmaps (Direct3D 9). Автоматическое создание MIP-карт не поддерживается для текстур томов и поверхностей элементов глубины или текстур. Это использование недопустимо для ресурса в системной памяти (D3DPOOL_SYSTEMMEM).
D3DUSAGE_DEPTHSTENCIL
Ресурс будет буфером элементов глубины. D3DUSAGE_DEPTHSTENCIL можно использовать только с D3DPOOL_DEFAULT.
D3DUSAGE_DMAP
Ресурс будет картой смещения.
D3DUSAGE_DONOTCLIP
Для указания того, что содержимое буфера вершин никогда не требует обрезки. При отрисовке с буферами, имеющими этот флаг, состояние D3DRS_CLIPPING отрисовки должно иметь значение false.
D3DUSAGE_DYNAMIC
Для указания того, что буфер вершин требует использования динамической памяти. Это полезно для драйверов, так как позволяет им решать, где разместить буфер. Как правило, статические буферы вершин помещаются в память видео и динамические буферы вершин помещаются в память AGP. Обратите внимание, что отдельное статическое использование отсутствует. Если не указать D3DUSAGE_DYNAMIC, буфер вершин выполняется статическим. D3DUSAGE_DYNAMIC строго применяется через D3DLOCK_DISCARD и флаги блокировки D3DLOCK_NOOVERWRITE . В результате D3DLOCK_DISCARD и D3DLOCK_NOOVERWRITE допустимы только в буферах вершин, созданных с D3DUSAGE_DYNAMIC. Они не являются допустимыми флагами в статических буферах вершин. Дополнительные сведения см. в разделе "Управление ресурсами" (Direct3D 9).
Дополнительные сведения об использовании динамических буферов вершин см. в разделе "Оптимизация производительности" (Direct3D 9).
D3DUSAGE_DYNAMIC и D3DPOOL_MANAGED несовместимы и не должны использоваться вместе. См. D3DPOOL.
Текстуры могут указывать D3DUSAGE_DYNAMIC. Однако управляемые текстуры не могут использовать D3DUSAGE_DYNAMIC. Дополнительные сведения о динамических текстурах см. в разделе "Использование динамических текстур".
D3DUSAGE_NONSECURE
Разрешить общей поверхности, созданной безопасным приложением, открываться незащищенным приложением, которое имеет общий дескриптор.
Различия между Direct3D 9 и Direct3D 9Ex: Этот флаг доступен только в Direct3D 9Ex.
D3DUSAGE_NPATCHES
Задайте значение, указывающее, что буфер вершин должен использоваться для рисования N-исправлений.
D3DUSAGE_POINTS
Для указания того, что буфер вершин или индекса будет использоваться для спрайтов точек рисования. Буфер будет загружен в системную память, если требуется обработка вершин программного обеспечения для эмуляции спрайтов точек.
D3DUSAGE_RENDERTARGET
Ресурс будет целевым объектом отрисовки. D3DUSAGE_RENDERTARGET можно использовать только с D3DPOOL_DEFAULT.
D3DUSAGE_RTPATCHES
Задайте значение, указывающее, что буфер вершин используется для рисования примитивов высокого порядка.
D3DUSAGE_SOFTWAREPROCESSING
Если этот флаг используется, обработка вершин выполняется в программном обеспечении. Если этот флаг не используется, обработка вершин выполняется в оборудовании.
Флаг D3DUSAGE_SOFTWAREPROCESSING можно задать при включении смешанного режима или программной обработки вершин (D3DCREATE_MIXED_VERTEXPROCESSING D3DCREATE_SOFTWARE_VERTEXPROCESSING / ) для этого устройства. D3DUSAGE_SOFTWAREPROCESSING необходимо задать для буферов, используемых с обработкой вершин программного обеспечения в смешанном режиме, но при использовании аппаратной обработки индексов в смешанном режиме (D3DCREATE_HARDWARE_VERTEXPROCESSING) не следует устанавливать оптимальную производительность. Однако параметр D3DUSAGE_SOFTWAREPROCESSING является единственным вариантом, если один буфер используется как с аппаратной, так и программной обработкой вершин. D3DUSAGE_SOFTWAREPROCESSING разрешено для смешанных и программных устройств.
D3DUSAGE_SOFTWAREPROCESSING используется с CheckDeviceFormat , чтобы узнать, можно ли использовать определенный формат текстуры текстуры вершин во время обработки вершин программного обеспечения. Если это возможно, текстура должна быть создана в D3DPOOL_SCRATCH.
D3DUSAGE_TEXTAPI
Этот флаг использования должен быть указан для буферов вершин и исходных поверхностей, используемых в вызовах ComposeRects. Текстуры, созданные с помощью этого флага использования, нельзя использовать для фильтрации текстур. Буферы вершин, созданные с этим флагом использования, нельзя использовать в качестве источников входного потока.
Различия между Direct3D 9 и Direct3D 9Ex: Этот флаг доступен только в Direct3D 9Ex.
D3DUSAGE_WRITEONLY
Сообщает системе, что приложение записывает только в буфер вершин. Этот флаг позволяет драйверу выбрать оптимальное расположение памяти для эффективных операций записи и отрисовки. Попытки считывания из буфера вершин, созданного с помощью этой возможности, завершаются ошибкой. Буферы, созданные с помощью D3DPOOL_DEFAULT , которые не указывают , D3DUSAGE_WRITEONLY могут страдать от серьезной штрафа за производительность. D3DUSAGE_WRITEONLY влияет только на производительность буферов D3DPOOL_DEFAULT .
D3DUSAGE_RESTRICTED_CONTENT
Установка этого флага указывает, что ресурс может содержать защищенное содержимое.
Различия между Direct3D 9 и Direct3D 9Ex: Этот флаг доступен только в Direct3D 9Ex.
D3DUSAGE_RESTRICT_SHARED_RESOURCE
Установка этого флага означает, что доступ к общему ресурсу должен быть ограничен.
Различия между Direct3D 9 и Direct3D 9Ex: Этот флаг доступен только в Direct3D 9Ex.
D3DUSAGE_RESTRICT_SHARED_RESOURCE_DRIVER
Установка этого флага означает, что драйвер должен ограничить доступ к общему ресурсу. Вызывающий объект должен создать канал, прошедший проверку подлинности, с драйвером. Затем драйвер должен разрешить доступ к процессам, которые пытаются открыть этот общий ресурс.
Различия между Direct3D 9 и Direct3D 9Ex: Этот флаг доступен только в Direct3D 9Ex.

Замечания

Сочетания использования и ресурсов

Использование определяется при создании ресурса или указан с помощью CheckDeviceType для проверки возможностей существующего ресурса. В следующей таблице определяются возможности применения к типам ресурсов.

Использование Создание буфера вершин Создание буфера индекса Создание текстуры Создание текстуры куба Создание текстуры тома Создание Surface Проверка формата устройства
D3DUSAGE_AUTOGENMIPMAP Да-да да
D3DUSAGE_DEPTHSTENCIL Да-да Да-да
D3DUSAGE_DMAP да да
D3DUSAGE_DONOTCLIP да
D3DUSAGE_DYNAMIC да да да да да
D3DUSAGE_NONSECURE да
D3DUSAGE_NPATCHES да
D3DUSAGE_POINTS да
D3DUSAGE_RTPATCHES да
D3DUSAGE_RENDERTARGET Да-да Да-да
D3DUSAGE_SOFTWAREPROCESSING да да да да да
D3DUSAGE_TEXTAPI да да
D3DUSAGE_WRITEONLY да

 

Используйте CheckDeviceFormat , чтобы проверить поддержку оборудования для этих использования.

Здесь перечислены все методы создания ресурсов.

Функции текстурирования D3DXCreatexxx также используют некоторые из этих константных значений для создания ресурсов.

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

Требования

Требование Ценность
Заголовок
D3d9types.h

См. также

константы Direct3D

D3DUSAGE_QUERY

D3DDECLUSAGE

D3DPOOL