Partager via


Méthode IDirect3DDevice9 ::SetSoftwareVertexProcessing (d3d9.h)

Utilisez cette méthode pour basculer entre le traitement du vertex logiciel et matériel.

Syntaxe

HRESULT SetSoftwareVertexProcessing(
  [in] BOOL bSoftware
);

Paramètres

[in] bSoftware

Type : BOOL

TRUE pour spécifier le traitement du vertex logiciel ; FALSE pour spécifier le traitement du vertex matériel.

Valeur retournée

Type : HRESULT

Si la méthode réussit, la valeur de retour est D3D_OK. Si la méthode échoue, la valeur de retour peut être D3DERR_INVALIDCALL.

Remarques

Les restrictions de modification des modes sont les suivantes (reportez-vous également aux notes sur les constantes D3DCREATE ) :

  • Si un appareil est créé avec D3DCREATE_SOFTWARE_VERTEXPROCESSING, le traitement du vertex est effectué dans un logiciel et ne peut pas être modifié.
  • Si un appareil est créé avec D3DCREATE_HARDWARE_VERTEXPROCESSING, le traitement du vertex est effectué dans le matériel et ne peut pas être modifié.
  • Si un appareil est créé avec D3DCREATE_MIXED_VERTEXPROCESSING, le traitement du vertex est effectué par défaut dans le matériel. Le traitement peut être basculé vers un logiciel (ou revenir au matériel) à l’aide de IDirect3DDevice9 ::SetSoftwareVertexProcessing.
Une application peut créer un appareil en mode mixte pour utiliser à la fois le traitement du vertex logiciel et le traitement du vertex matériel. Pour basculer entre les deux modes de traitement de vertex dans DirectX 8.x, utilisez IDirect3DDevice8 ::SetRenderState avec l’état de rendu D3DRS_SOFTWAREVERTEXPROCESSING et l’argument DWORD approprié. L’inconvénient de l’approche d’état de rendu était la difficulté à définir la sémantique des blocs d’état. Les applications et le runtime devaient effectuer un travail supplémentaire et être prudent lors de l’enregistrement et de la lecture des blocs d’état.

Dans Direct3D 9, utilisez Plutôt SetSoftwareVertexProcessing . Cette nouvelle API n’est pas enregistrée par StateBlocks.

Configuration requise

Condition requise Valeur
Plateforme cible Windows
En-tête d3d9.h (inclure D3D9.h)
Bibliothèque D3D9.lib

Voir aussi

IDirect3DDevice9

IDirect3DDevice9 ::GetSoftwareVertexProcessing