Partager via


Méthode IDirect3DDevice9::P rocessVertices (d3d9helper.h)

Applique le traitement des vertex défini par le nuanceur de vertex au jeu de flux de données d’entrée, générant un flux unique de données de vertex entrelacées vers la mémoire tampon de vertex de destination.

Syntaxe

HRESULT ProcessVertices(
  [in] UINT                        SrcStartIndex,
  [in] UINT                        DestIndex,
  [in] UINT                        VertexCount,
  [in] IDirect3DVertexBuffer9      *pDestBuffer,
  [in] IDirect3DVertexDeclaration9 *pVertexDecl,
  [in] DWORD                       Flags
);

Paramètres

[in] SrcStartIndex

Type : UINT

Index du premier sommet à charger.

[in] DestIndex

Type : UINT

Index du premier sommet dans la mémoire tampon de vertex de destination dans laquelle les résultats sont placés.

[in] VertexCount

Type : UINT

Nombre de sommets à traiter.

[in] pDestBuffer

Type : IDirect3DVertexBuffer9*

Pointeur vers une interface IDirect3DVertexBuffer9 , la mémoire tampon de vertex de destination représentant le flux de données de vertex entrelacées.

[in] pVertexDecl

Type : IDirect3DVertexDeclaration9*

Pointeur vers une interface IDirect3DVertexDeclaration9 qui représente la déclaration de données de vertex de sortie. Lorsque le nuanceur de vertex 3.0 ou supérieur est défini comme nuanceur de vertex actuel, la déclaration de vertex de sortie doit être présente.

[in] Flags

Type : DWORD

Options de traitement. Définissez ce paramètre sur 0 pour le traitement par défaut. Définissez sur D3DPV_DONOTCOPYDATA pour empêcher le système de copier les données de vertex non affectées par l’opération de vertex dans la mémoire tampon de destination. La valeur D3DPV_DONOTCOPYDATA peut être combinée à une ou plusieurs valeurs D3DLOCK appropriées pour la mémoire tampon de destination.

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.

Notes

L’ordre des opérations pour cette méthode est le suivant :

  • Transformez les sommets en espace de projection à l’aide de la matrice monde + vue + projection.
  • Coordonnées de l’écran de calcul à l’aide des paramètres de la fenêtre d’affichage.
  • Si le découpage est activé, calculez les codes de découpage et stockez-les dans une mémoire tampon interne, associée à la mémoire tampon de vertex de destination. Si un sommet se trouve à l’intérieur du frustum d’affichage, ses coordonnées d’écran sont calculées. Si le vertex se trouve en dehors du frustum d’affichage, le vertex est stocké dans la mémoire tampon de vertex de destination dans les coordonnées de l’espace de projection.
  • Autres remarques : l’utilisateur n’a pas accès à la mémoire tampon interne du code clip. Aucun découpage n’est effectué sur des triangles ou d’autres primitives.
La mémoire tampon de vertex de destination, pDestBuffer, doit être créée avec un paramètre FVF différent de zéro dans IDirect3DDevice9::CreateVertexBuffer. Le code FVF spécifié lors de l’appel à la méthode IDirect3DDevice9::CreateVertexBuffer spécifie les éléments de vertex présents dans la mémoire tampon de vertex de destination.

Lorsque Direct3D génère des coordonnées de texture, ou copie ou transforme les coordonnées de texture d’entrée, et que le format de coordonnées de texture de sortie définit plus de composants de coordonnées de texture que Direct3D n’en génère, Direct3D ne modifie pas ces composants supplémentaires.

Spécifications

   
Plateforme cible Windows
En-tête d3d9helper.h (incluez D3D9.h)
Bibliothèque D3D9.lib

Voir aussi

Types d’appareils et exigences de traitement des vertex (Direct3D 9)

Traitement du vertex de fonction fixe (Direct3D 9)

IDirect3DDevice9