Método IDirect3DDevice9::SetSoftwareVertexProcessing (d3d9helper.h)

Use esse método para alternar entre o processamento de vértice de software e hardware.

Sintaxe

HRESULT SetSoftwareVertexProcessing(
  [in] BOOL bSoftware
);

Parâmetros

[in] bSoftware

Tipo: BOOL

TRUE para especificar o processamento de vértice de software; FALSE para especificar o processamento de vértice de hardware.

Retornar valor

Tipo: HRESULT

Se o método for bem-sucedido, o valor retornado será D3D_OK. Se o método falhar, o valor retornado poderá ser D3DERR_INVALIDCALL.

Comentários

As restrições para alterar os modos são as seguintes (consulte também as anotações sobre as constantes D3DCREATE ):

  • Se um dispositivo for criado com D3DCREATE_SOFTWARE_VERTEXPROCESSING, o processamento de vértice será feito no software e não poderá ser alterado.
  • Se um dispositivo for criado com D3DCREATE_HARDWARE_VERTEXPROCESSING, o processamento de vértice será feito em hardware e não poderá ser alterado.
  • Se um dispositivo for criado com D3DCREATE_MIXED_VERTEXPROCESSING, o processamento de vértice será feito em hardware por padrão. O processamento pode ser alternado para software (ou de volta para hardware) usando IDirect3DDevice9::SetSoftwareVertexProcessing.
Um aplicativo pode criar um dispositivo de modo misto para usar o processamento de vértice de software e o processamento de vértice de hardware. Para alternar entre os dois modos de processamento de vértice no DirectX 8.x, use IDirect3DDevice8::SetRenderState com o estado de renderização D3DRS_SOFTWAREVERTEXPROCESSING e o argumento DWORD apropriado. A desvantagem da abordagem de estado de renderização foi a dificuldade em definir a semântica para blocos de estado. Os aplicativos e o runtime tiveram que fazer um trabalho extra e ter cuidado ao gravar e reproduzir blocos de estado.

No Direct3D 9, use SetSoftwareVertexProcessing . Essa nova API não é registrada por StateBlocks.

Requisitos

Requisito Valor
Plataforma de Destino Windows
Cabeçalho d3d9helper.h (inclua D3D9.h)
Biblioteca D3D9.lib

Confira também

IDirect3DDevice9

IDirect3DDevice9::GetSoftwareVertexProcessing