Funzione D3DXSimplifyMesh
Genera una mesh semplificata usando i pesi forniti che vengono più vicini possibile al valore MinValue specificato.
Sintassi
HRESULT D3DXSimplifyMesh(
_In_ LPD3DXMESH pMesh,
_In_ const DWORD *pAdjacency,
_In_ const D3DXATTRIBUTEWEIGHTS *pVertexAttributeWeights,
_In_ const FLOAT *pVertexWeights,
_In_ DWORD MinValue,
_In_ DWORD Options,
_Out_ LPD3DXMESH *ppMesh
);
Parametri
-
pMesh [in]
-
Tipo: LPD3DXMESH
Puntatore a un'interfaccia ID3DXMesh che rappresenta la mesh di origine.
-
pAdjacency [in]
-
Tipo: const DWORD*
Puntatore a una matrice di tre DWORD per viso che specificano i tre vicini per ogni viso nella mesh da semplificare.
-
pVertexAttributeWeights [in]
-
Tipo: const D3DXATTRIBUTEWEIGHTS*
Puntatore a una struttura D3DXATTRIBUTEWEIGHTS contenente il peso per ogni componente del vertice. Se questo parametro è impostato su NULL, viene usata una struttura predefinita. Vedere la sezione Osservazioni.
-
pVertexWeights [in]
-
Tipo: const FLOAT*
Puntatore a una matrice di pesi del vertice. Se questo parametro è impostato su NULL, tutti i pesi del vertice vengono impostati su 1.0.
-
MinValue [in]
-
Tipo: DWORD
Numero di vertici o visi, a seconda del flag impostato nel parametro Opzioni , in base al quale semplificare la mesh di origine.
-
Opzioni [in]
-
Tipo: DWORD
Specifica le opzioni di semplificazione per la mesh. È possibile impostare uno dei flag in D3DXMESHSIMP .
-
ppMesh [out]
-
Tipo: LPD3DXMESH*
Indirizzo di un puntatore a un'interfaccia ID3DXMesh che rappresenta la mesh di semplificazione restituita.
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, D3DXERR_INVALIDDATA, E_OUTOFMEMORY.
Commenti
Questa funzione genera una mesh con vertici minValue o visi.
Se il processo di semplificazione non può ridurre la mesh a MinValue, la chiamata ha ancora esito positivo perché MinValue è un minimo desiderato, non un minimo assoluto.
Se pVertexAttributeWeights è impostato su NULL, i valori seguenti vengono assegnati alla struttura D3DXATTRIBUTEWEIGHTS predefinita.
D3DXATTRIBUTEWEIGHTS AttributeWeights;
AttributeWeights.Position = 1.0;
AttributeWeights.Boundary = 1.0;
AttributeWeights.Normal = 1.0;
AttributeWeights.Diffuse = 0.0;
AttributeWeights.Specular = 0.0;
AttributeWeights.Tex[8] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
Questa struttura predefinita è ciò che la maggior parte delle applicazioni deve usare perché considera solo la regolazione geometrica e normale. Solo in casi speciali gli altri campi membro devono essere modificati.
Requisiti
Requisito | Valore |
---|---|
Intestazione |
|
Libreria |
|
Vedi anche