Share via


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
D3DX9Mesh.h
Libreria
D3dx9.lib

Vedi anche

Funzioni mesh