Compartilhar via


D3DUSAGE

Opções de uso que identificam como os recursos devem ser usados.

A tabela a seguir resume as opções de uso disponíveis.

Constante Descrição
D3DUSAGE_AUTOGENMIPMAP
O recurso gerará mipmaps automaticamente. Consulte a Geração Automática de Mipmaps (Direct3D 9). Não há suporte para geração automática de mipmaps para texturas de volume e superfícies/texturas de estêncil de profundidade. Esse uso não é válido para um recurso na memória do sistema (D3DPOOL_SYSTEMMEM).
D3DUSAGE_DEPTHSTENCIL
O recurso será um buffer de estêncil de profundidade. D3DUSAGE_DEPTHSTENCIL só pode ser usado com D3DPOOL_DEFAULT.
D3DUSAGE_DMAP
O recurso será um mapa de deslocamento.
D3DUSAGE_DONOTCLIP
Definido para indicar que o conteúdo do buffer de vértice nunca exigirá recorte. Ao renderizar com buffers que têm esse sinalizador definido, o estado de renderização D3DRS_CLIPPING deve ser definido como false.
D3DUSAGE_DYNAMIC
Definido para indicar que o buffer de vértice requer uso dinâmico de memória. Isso é útil para drivers porque permite que eles decidam onde colocar o buffer. Em geral, buffers de vértice estático são colocados na memória de vídeo e buffers de vértice dinâmicos são colocados na memória AGP. Observe que não há nenhum uso estático separado. Se você não especificar D3DUSAGE_DYNAMIC, o buffer de vértice será tornado estático. D3DUSAGE_DYNAMIC é estritamente imposta por meio dos sinalizadores de bloqueio D3DLOCK_DISCARD e D3DLOCK_NOOVERWRITE . Como resultado, D3DLOCK_DISCARD e D3DLOCK_NOOVERWRITE são válidos somente em buffers de vértice criados com D3DUSAGE_DYNAMIC. Eles não são sinalizadores válidos em buffers de vértice estático. Para obter mais informações, consulte Gerenciando recursos (Direct3D 9).
Para obter mais informações sobre como usar buffers de vértice dinâmico, consulte Otimizações de Desempenho (Direct3D 9).
D3DUSAGE_DYNAMIC e D3DPOOL_MANAGED são incompatíveis e não devem ser usados juntos. Veja D3DPOOL.
Texturas podem especificar D3DUSAGE_DYNAMIC. No entanto, texturas gerenciadas não podem usar D3DUSAGE_DYNAMIC. Para obter mais informações sobre texturas dinâmicas, consulte Como usar texturas dinâmicas.
D3DUSAGE_NONSECURE
Permitir que uma superfície compartilhada criada por um aplicativo seguro seja aberta por um aplicativo não seguro que tenha o identificador compartilhado.
Diferenças entre Direct3D 9 e Direct3D 9Ex: Esse sinalizador está disponível somente no Direct3D 9Ex.
D3DUSAGE_NPATCHES
Defina para indicar que o buffer de vértice deve ser usado para desenhar N-patches.
D3DUSAGE_POINTS
Defina para indicar que o vértice ou buffer de índice será usado para sprites de ponto de desenho. O buffer será carregado na memória do sistema se o processamento de vértice de software for necessário para emular sprites de ponto.
D3DUSAGE_RENDERTARGET
O recurso será um destino de renderização. D3DUSAGE_RENDERTARGET só pode ser usado com D3DPOOL_DEFAULT.
D3DUSAGE_RTPATCHES
Defina para indicar que o buffer de vértice deve ser usado para desenhar primitivos de alta ordem.
D3DUSAGE_SOFTWAREPROCESSING
Se esse sinalizador for usado, o processamento de vértice será feito no software. Se esse sinalizador não for usado, o processamento de vértice será feito no hardware.
O sinalizador D3DUSAGE_SOFTWAREPROCESSING pode ser definido quando o processamento de vértice de software ou modo misto (D3DCREATE_MIXED_VERTEXPROCESSING / D3DCREATE_SOFTWARE_VERTEXPROCESSING) está habilitado para esse dispositivo. D3DUSAGE_SOFTWAREPROCESSING deve ser definido para que os buffers sejam usados com o processamento de vértice de software no modo misto, mas ele não deve ser definido para o melhor desempenho possível ao usar o processamento de índice de hardware no modo misto (D3DCREATE_HARDWARE_VERTEXPROCESSING). No entanto, definir D3DUSAGE_SOFTWAREPROCESSING é a única opção quando um único buffer é usado com processamento de vértice de hardware e software. D3DUSAGE_SOFTWAREPROCESSING é permitido para dispositivos mistos e de software.
D3DUSAGE_SOFTWAREPROCESSING é usado com CheckDeviceFormat para descobrir se um formato de textura específico pode ser usado como uma textura de vértice durante o processamento de vértice de software. Se puder, a textura deverá ser criada em D3DPOOL_SCRATCH.
D3DUSAGE_TEXTAPI
Esse sinalizador de uso deve ser especificado para buffers de vértice e superfícies de origem, usados em chamadas para ComposeRects. Texturas criadas com esse sinalizador de uso não podem ser usadas para filtragem de textura. Buffers de vértice, criados com esse sinalizador de uso, não podem ser usados como fontes de fluxo de entrada.
Diferenças entre Direct3D 9 e Direct3D 9Ex: Esse sinalizador está disponível somente no Direct3D 9Ex.
D3DUSAGE_WRITEONLY
Informa ao sistema que o aplicativo grava apenas no buffer de vértice. O uso desse sinalizador permite que o driver escolha o melhor local de memória para operações de gravação e renderização eficientes. As tentativas de leitura de um buffer de vértice criado com essa funcionalidade falharão. Buffers criados com D3DPOOL_DEFAULT que não especificam D3DUSAGE_WRITEONLY podem sofrer uma grave penalidade de desempenho. D3DUSAGE_WRITEONLY afeta apenas o desempenho de buffers de D3DPOOL_DEFAULT .
D3DUSAGE_RESTRICTED_CONTENT
Definir esse sinalizador indica que o recurso pode conter conteúdo protegido.
Diferenças entre Direct3D 9 e Direct3D 9Ex: Esse sinalizador está disponível somente no Direct3D 9Ex.
D3DUSAGE_RESTRICT_SHARED_RESOURCE
Definir esse sinalizador indica que o acesso ao recurso compartilhado deve ser restrito.
Diferenças entre Direct3D 9 e Direct3D 9Ex: Esse sinalizador está disponível somente no Direct3D 9Ex.
D3DUSAGE_RESTRICT_SHARED_RESOURCE_DRIVER
Definir esse sinalizador indica que o driver deve restringir o acesso ao recurso compartilhado. O chamador deve criar um canal autenticado com o driver. Em seguida, o driver deve permitir o acesso a processos que tentam abrir esse recurso compartilhado.
Diferenças entre Direct3D 9 e Direct3D 9Ex: Esse sinalizador está disponível somente no Direct3D 9Ex.

Observações

Combinações de uso e recursos

Os usos são especificados quando um recurso é criado ou especificado com CheckDeviceType para testar a funcionalidade de um recurso existente. A tabela a seguir identifica quais usos podem ser aplicados a quais tipos de recurso.

Uso Criação de buffer de vértice Criação de buffer de índice Criação de textura Criação de textura de cubo Criação de textura de volume Criar o Surface Verificar o formato do dispositivo
D3DUSAGE_AUTOGENMIPMAP sim, sim Sim
D3DUSAGE_DEPTHSTENCIL sim, sim sim, sim
D3DUSAGE_DMAP Sim Sim
D3DUSAGE_DONOTCLIP sim sim
D3DUSAGE_DYNAMIC sim sim sim sim sim Sim
D3DUSAGE_NONSECURE sim sim sim sim sim sim sim
D3DUSAGE_NPATCHES sim sim
D3DUSAGE_POINTS sim sim
D3DUSAGE_RTPATCHES sim sim
D3DUSAGE_RENDERTARGET sim, sim sim, sim
D3DUSAGE_SOFTWAREPROCESSING sim sim sim sim sim Sim
D3DUSAGE_TEXTAPI sim Sim
D3DUSAGE_WRITEONLY sim sim

 

Use CheckDeviceFormat para verificar o suporte de hardware para esses usos.

Cada um dos métodos de criação de recursos está listado aqui.

As funções de texturização D3DXCreatexxx também usam alguns desses valores constantes para a criação de recursos.

Para obter mais informações sobre tipos de pool e suas restrições com determinados usos, consulte D3DPOOL.

Requisitos

Requisito Valor
Cabeçalho
D3d9types.h

Consulte também

constantes Direct3D

D3DUSAGE_QUERY

D3DDECLUSAGE

D3DPOOL