Funzione D3DXComputeNormals
Calcola le normali unità per ogni vertice in una mesh. Fornito per supportare applicazioni legacy. Usare D3DXComputeTangentFrameEx per ottenere risultati migliori.
Sintassi
HRESULT D3DXComputeNormals(
_Inout_ LPD3DXBASEMESH pMesh,
_In_ const DWORD *pAdjacency
);
Parametri
-
pMesh [in, out]
-
Tipo: LPD3DXBASEMESH
Puntatore a un'interfaccia ID3DXBaseMesh che rappresenta l'oggetto mesh normalizzato.
-
pAdjacency [in]
-
Tipo: const DWORD*
Puntatore a una matrice di tre DWORD per viso che specificano i tre vicini per ogni viso nella mesh progressiva creata. Questo parametro è facoltativo e deve essere impostato su NULL se è inutilizzato.
Valore restituito
Tipo: HRESULT
Se la funzione ha esito positivo, il valore restituito è S_OK. Se la funzione ha esito negativo, il valore restituito può essere uno dei seguenti: D3DERR_INVALIDCALL, D3DXERR_INVALIDDATA, E_OUTOFMEMORY.
Commenti
La mesh di input deve avere il flag di D3DFVF_NORMAL specificato nel formato del vertice flessibile (FVF).
Una normale per un vertice viene generata con la media delle normali di tutti i visi che condividono il vertice.
Se viene fornita l'adjacency, i vertici replicati vengono ignorati e "lisciati". Se l'adjacency non viene fornita, i vertici replicati avranno normali in media solo dai visi che fanno riferimento in modo esplicito.
Questa funzione chiama semplicemente D3DXComputeTangentFrameEx con i parametri di input seguenti:
D3DXComputeTangentFrameEx( pMesh,
D3DX_DEFAULT,
0,
D3DX_DEFAULT,
0,
D3DX_DEFAULT,
0,
D3DDECLUSAGE_NORMAL,
0,
D3DXTANGENT_GENERATE_IN_PLACE | D3DXTANGENT_CALCULATE_NORMALS,
pAdjacency,
-1.01f,
-0.01f,
-1.01f,
NULL,
NULL);
Requisiti
Requisito | Valore |
---|---|
Intestazione |
|
Libreria |
|
Vedi anche