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 |
|
Bibliothèque |
|
Voir aussi