ID3DXMesh :: OptimizeInplace, méthode

Génère un maillage avec des faces et des sommets réorganisés pour optimiser les performances du dessin. Cette méthode réorganise la maille existante.

Syntaxe

HRESULT OptimizeInplace(
  [in]        DWORD        Flags,
  [in]  const DWORD        *pAdjacencyIn,
  [out]       DWORD        *pAdjacencyOut,
  [out]       DWORD        *pFaceRemap,
  [out]       LPD3DXBUFFER *ppVertexRemap
);

Paramètres

Indicateurs [ dans]

Type : DWORD

Combinaison d’un ou plusieurs indicateurs D3DXMESHOPT , en spécifiant le type d’optimisation à effectuer.

pAdjacencyIn [ dans]

Type : const DWORD *

Pointeur vers un tableau de trois DWORD par visage qui spécifie les trois voisins pour chaque visage dans le maillage source. Si le bord n’a pas de faces adjacentes, la valeur est 0xFFFFFFFF.

pAdjacencyOut [ à]

Type : DWORD*

Pointeur vers un tableau de trois DWORD par visage qui spécifie les trois voisins pour chaque visage dans le maillage optimisé. Si le bord n’a pas de faces adjacentes, la valeur est 0xFFFFFFFF. Si la valeur fournie pour cet argument est null, les données d’contiguïté ne sont pas retournées.

pFaceRemap [ à]

Type : DWORD*

Tableau de DWORDs, un par visage, qui identifie la face d’origine du maillage 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 [ à]

Type : LPD3DXBUFFER*

Adresse d’un pointeur vers une interface ID3DXBuffer , qui contient une valeur DWORD pour chaque vertex qui spécifie la façon dont les nouveaux vertex sont mappés aux anciens vertex. Ce remappage est utile si vous devez modifier des données externes en fonction du nouveau mappage de vertex. Si la valeur fournie pour cet argument est null, les données de remappage de vertex ne sont pas retournées.

Valeur de retour

Type : HRESULT

Si la méthode est réussie, la valeur de retour est D3D _ OK. Si la méthode échoue, la valeur de retour peut être l’une des suivantes : D3DERR _ INVALIDCALL, D3DXERR _ CANNOTATTRSORT, E _ OUTOFMEMORY.

Notes

Avant d’exécuter ID3DXMesh :: OptimizeInplace, une application doit générer une mémoire tampon de contiguïté en appelant ID3DXBaseMesh :: GenerateAdjacency. La mémoire tampon d’adjacence contient des données d’contiguïté, telles qu’une liste de bords et les faces adjacentes les unes aux autres.

Notes

Cette méthode échoue si le maillage partage sa mémoire tampon de vertex avec un autre maillage, sauf si le _ IGNOREVERTS D3DXMESHOPT est défini dans Flags.

Spécifications

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

Voir aussi

ID3DXMesh

ID3DXMesh :: Optimize