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 Geração automática de Mipmaps (Direct3D 9). Não há suporte para a 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
Defina 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
Defina 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 do 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âmicos, consulte Otimizações de desempenho (Direct3D 9).
D3DUSAGE_DYNAMIC e D3DPOOL_MANAGED são incompatíveis e não devem ser usados juntos. Consulte D3DPOOL.
Texturas podem especificar D3DUSAGE_DYNAMIC. No entanto, as texturas gerenciadas não podem usar D3DUSAGE_DYNAMIC. Para obter mais informações sobre texturas dinâmicas, consulte Usando 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 buffers a serem usados com processamento de vértice de software no modo misto, mas 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. As extures T 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 ler 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.

Comentários

Combinações de uso e recursos

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

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 Criação do Surface Verificar o formato do dispositivo
D3DUSAGE_AUTOGENMIPMAP x x x
D3DUSAGE_DEPTHSTENCIL x x x x
D3DUSAGE_DMAP x x
D3DUSAGE_DONOTCLIP x x
D3DUSAGE_DYNAMIC x x x x x x
D3DUSAGE_NONSECURE x x x x x x x
D3DUSAGE_NPATCHES x x
D3DUSAGE_POINTS x x
D3DUSAGE_RTPATCHES x x
D3DUSAGE_RENDERTARGET x x x x
D3DUSAGE_SOFTWAREPROCESSING x x x x x x
D3DUSAGE_TEXTAPI x x
D3DUSAGE_WRITEONLY x x

 

Use CheckDeviceFormat para marcar suporte de hardware para esses usos.

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

As funções de texutura 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
parâmetro
D3d9types.h

Confira também

Constantes Direct3D

D3DUSAGE_QUERY

D3DDECLUSAGE

D3DPOOL