Partilhar via


Processando dados de vértice (Direct3D 9)

A interface IDirect3DDevice9 suporta processamento de vértice em software e hardware. Em geral, os recursos do dispositivo para processamento de vértices de software e hardware não são idênticos. Os recursos de hardware são variáveis, dependendo do adaptador de vídeo e do driver, enquanto os recursos de software são fixos.

Os sinalizadores a seguir controlam o comportamento de processamento de vértice para a camada de abstração de hardware (HAL) e dispositivos de referência.

  • D3DCREATE_SOFTWARE_VERTEXPROCESSING
  • D3DCREATE_HARDWARE_VERTEXPROCESSING
  • D3DCREATE_MIXED_VERTEXPROCESSING

Especifique um dos sinalizadores de comportamento de processamento de vértice ao chamar IDirect3D9::CreateDevice. O sinalizador de modo misto permite ao dispositivo executar o processamento de vértice tanto por software quanto por hardware. Apenas um sinalizador de processamento de vértice pode ser definido para um dispositivo de cada vez. Observe que o sinalizador D3DCREATE_HARDWARE_VERTEXPROCESSING deve ser definido ao criar um dispositivo puro (D3DCREATE_PUREDEVICE).

Para evitar recursos de processamento de vértice duplo em um único dispositivo, somente os recursos de processamento de vértice de hardware podem ser consultados em tempo de execução. Os recursos de processamento de vértice de software são fixos e não podem ser consultados em tempo de execução.

O membro VertexProcessingCaps da estrutura D3DCAPS9 determina os recursos de processamento de vértice de hardware do dispositivo.

Para o processamento de vértice de software, os seguintes recursos são suportados.

Além disso, a tabela a seguir lista os valores definidos para membros da estrutura de D3DCAPS9 para um dispositivo no modo de processamento de vértice de software.

Membro Recursos de processamento de vértice de software
MaxActiveLights Ilimitado
MaxUserClipPlanes 6
MaxVertexBlendMatrices 4
MaxStreams [en] 16
MaxVertexIndex 0xFFFFFFFF

 

Em geral, qualquer aplicativo vinculado ao processamento de vértice deve usar um dispositivo HAL. O processamento de vértices de software fornece um conjunto garantido de recursos de processamento de vértices, incluindo um número ilimitado de luzes e suporte total para sombreadores de vértice programáveis. Você pode alternar entre o processamento de vértice de software e hardware a qualquer momento ao usar o dispositivo HAL (que é o único tipo de dispositivo que suporta processamento de vértice de hardware e software). O único requisito é que os buffers de vértice, que são usados para o processamento de vértice por software, devem ser alocados na memória do sistema.

Dispositivos Direct3D