Share via


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

Vedi anche

Funzioni mesh