Condividi tramite


Funzione D3DXOptimizeVertices

Genera un mapping dei vertici ottimizzato per un elenco di triangoli. Questa funzione viene comunemente usata dopo aver applicato il mapping del viso generato da D3DXOptimizeFaces.

Sintassi

HRESULT D3DXOptimizeVertices(
  _In_    LPCVOID pIndices,
  _In_    UINT    NumFaces,
  _In_    UINT    NumVertices,
  _In_    BOOL    Indices32Bit,
  _Inout_ DWORD   *pVertexRemap
);

Parametri

pIndices [in]

Tipo: LPCVOID

Puntatore a indici dell'elenco di triangoli da usare per ordinare vertici.

NumFaces [in]

Tipo: UINT

Numero di visi nell'elenco triangolo.

NumVertices [in]

Tipo: UINT

Numero di vertici a cui fa riferimento l'elenco triangolo.

Indices32Bit [in]

Tipo: BOOL

Flag che indica il tipo di indice: TRUE se gli indici sono a 32 bit (più di 65535 vertici), FALSE se gli indici sono a 16 bit (65535 o meno vertici).

pVertexRemap [in, out]

Tipo: DWORD*

Puntatore a un buffer di destinazione che conterrà il nuovo indice per ogni vertice. Il valore archiviato in pVertexRemap per un determinato elemento è la posizione del vertice di origine nel nuovo ordinamento dei vertici.

Valore restituito

Tipo: HRESULT

Se la funzione ha esito positivo, il valore restituito è D3D_OK. Se la funzione ha esito negativo, il valore restituito può essere uno dei seguenti: D3DERR_INVALIDCALL, E_OUTOFMEMORY.

Commenti

Per impostazione predefinita, una mesh usa indici a 16 bit quando viene creata, a meno che l'applicazione non specifichi altrimenti. Per verificare se una mesh esistente usa indici a 16 bit o a 32 bit, chiamare ID3DXBaseMesh::GetOptions e verificare la presenza del flag di D3DXMESH_32BIT.

Requisiti

Requisito Valore
Intestazione
D3DX9Mesh.h
Libreria
D3dx9.lib

Vedi anche

Funzioni mesh