Partager via


ID3DX10Mesh::Optimize, méthode

Génère un nouveau maillage avec des visages et des sommets réorganisés pour optimiser les performances de dessin.

Syntaxe

HRESULT Optimize(
  [in]  UINT        Flags,
  [in]  UINT        *pFaceRemap,
  [out] LPD3D10BLOB *ppVertexRemap
);

Paramètres

Indicateurs [in]

Type : UINT

Spécifie le type d’optimisation à effectuer. Ce paramètre peut être défini sur une combinaison d’un ou plusieurs indicateurs de D3DXMESHOPT et D3DXMESH (sauf D3DXMESH_32BIT, D3DXMESH_IB_WRITEONLY et D3DXMESH_WRITEONLY).

pFaceRemap [in]

Type : UINT*

Tableau d’UINTs, un par face, qui identifie la face de maillage d’origine qui correspond à chaque visage dans le maillage optimisé. Si la valeur fournie pour cet argument est NULL, les données de remappage de visage ne sont pas retournées.

ppVertexRemap [out]

Type : LPD3D10BLOB*

Adresse d’un pointeur vers une interface ID3D10Blob, qui contient un DWORD pour chaque sommet qui spécifie la façon dont les nouveaux sommets sont mappés aux anciens sommets. Ce remappage est utile si vous devez modifier des données externes en fonction du nouveau mappage de vertex.

Valeur retournée

Type : HRESULT

La valeur de retour est l’une des valeurs répertoriées dans Codes de retour Direct3D 10.

Notes

Cette méthode génère un nouveau maillage. Avant d’exécuter Optimize, une application doit générer une mémoire tampon d’adjacence en appelant ID3DX10Mesh::GenerateAdjacencyAndPointReps. La mémoire tampon d’adjacence contient des données d’adjacence, telles qu’une liste d’arêtes et des visages adjacents les uns aux autres.

Cette méthode est très similaire à la méthode ID3DX10Mesh::CloneMesh , sauf qu’elle peut effectuer une optimisation lors de la génération du nouveau clone du maillage. Le maillage de sortie hérite de tous les paramètres de création du maillage d’entrée.

Spécifications

Condition requise Valeur
En-tête
D3DX10.h
Bibliothèque
D3DX10.lib

Voir aussi

ID3DX10Mesh

D3DX Interfaces