Metodo ID3DXMesh::OptimizeInplace
Genera una mesh con visi riordinati e vertici per ottimizzare le prestazioni di disegno. Questo metodo riordina la mesh esistente.
Sintassi
HRESULT OptimizeInplace(
[in] DWORD Flags,
[in] const DWORD *pAdjacencyIn,
[out] DWORD *pAdjacencyOut,
[out] DWORD *pFaceRemap,
[out] LPD3DXBUFFER *ppVertexRemap
);
Parametri
-
Flag [in]
-
Tipo: DWORD
Combinazione di uno o più flag D3DXMESHOPT , specificando il tipo di ottimizzazione da eseguire.
-
pAdjacencyIn [in]
-
Tipo: const DWORD*
Puntatore a una matrice di tre DWORD per viso che specifica i tre vicini per ogni viso nella mesh di origine. Se il bordo non ha visi adiacenti, il valore è 0xffffffff.
-
pAdjacencyOut [out]
-
Tipo: DWORD*
Puntatore a una matrice di tre DWORD per viso che specifica i tre vicini per ogni viso nella mesh ottimizzata. Se il bordo non ha visi adiacenti, il valore è 0xffffffff. Se il valore specificato per questo argomento è NULL, i dati di adjacency non vengono restituiti.
-
pFaceRemap [out]
-
Tipo: DWORD*
Matrice di DWORD, una per viso, che identifica la faccia mesh originale che corrisponde a ogni viso nella mesh ottimizzata. Se il valore specificato per questo argomento è NULL, i dati di remap del viso non vengono restituiti.
-
ppVertexRemap [out]
-
Tipo: LPD3DXBUFFER*
Indirizzo di un puntatore a un'interfaccia ID3DXBuffer , che contiene un DWORD per ogni vertice che specifica il modo in cui i nuovi vertici vengono mappati ai vertici precedenti. Questa mappa è utile se è necessario modificare i dati esterni in base al nuovo mapping dei vertici. Se il valore specificato per questo argomento è NULL, i dati del vertice remap non vengono restituiti.
Valore restituito
Tipo: HRESULT
Se il metodo ha esito positivo, il valore restituito è D3D_OK. Se il metodo ha esito negativo, il valore restituito può essere uno dei seguenti: D3DERR_INVALIDCALL, D3DXERR_CANNOTATTRSORT, E_OUTOFMEMORY.
Commenti
Prima di eseguire ID3DXMesh::OptimizeInplace, un'applicazione deve generare un buffer di adjacency chiamando ID3DXBaseMesh::GenerateAdjacency. Il buffer di adjacency contiene dati di adjacency, ad esempio un elenco di bordi e i visi adiacenti tra loro.
Nota
Questo metodo avrà esito negativo se la mesh condivide il buffer del vertice con un'altra mesh, a meno che il D3DXMESHOPT_IGNOREVERTS non sia impostato in Flag.
Requisiti
Requisito | Valore |
---|---|
Intestazione |
|
Libreria |
|
Vedi anche