Partager via


D3DXComputeNormals, fonction

Calcule les normales d’unité pour chaque sommet d’un maillage. Fourni pour prendre en charge les applications héritées. Utilisez D3DXComputeTangentFrameEx pour obtenir de meilleurs résultats.

Syntaxe

HRESULT D3DXComputeNormals(
  _Inout_       LPD3DXBASEMESH pMesh,
  _In_    const DWORD          *pAdjacency
);

Paramètres

pMesh [in, out]

Type : LPD3DXBASEMESH

Pointeur vers une interface ID3DXBaseMesh , représentant l’objet de maillage normalisé.

pAdjacency [in]

Type : const DWORD*

Pointeur vers un tableau de trois DWORD par visage qui spécifient les trois voisins pour chaque visage dans le maillage progressif créé. Ce paramètre est facultatif et doit être défini sur NULL s’il n’est pas utilisé.

Valeur retournée

Type : HRESULT

Si la fonction réussit, la valeur de retour est S_OK. Si la fonction échoue, la valeur de retour peut être l’une des suivantes : D3DERR_INVALIDCALL, D3DXERR_INVALIDDATA, E_OUTOFMEMORY.

Notes

Le maillage d’entrée doit avoir l’indicateur D3DFVF_NORMAL spécifié dans son format de vertex flexible (FVF).

Une normale pour un sommet est générée en faisant la moyenne des normales de tous les visages qui partagent ce sommet.

Si l’adjacence est fournie, les sommets répliqués sont ignorés et « lissés ». Si l’adjacence n’est pas fournie, les sommets répliqués ont des normales en moyenne à partir des seules faces qui les référencent explicitement.

Cette fonction appelle simplement D3DXComputeTangentFrameEx avec les paramètres d’entrée suivants :

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);

Spécifications

Condition requise Valeur
En-tête
D3DX9Mesh.h
Bibliothèque
D3dx9.lib

Voir aussi

Fonctions de maillage