Fonction D3DXMatrixShadow (D3DX10Math.h)

Notes

La bibliothèque d’utilitaireS D3DX10 est déconseillée. Nous vous recommandons d’utiliser DirectXMath à la place.

Génère une matrice qui aplatit la géométrie dans un plan.

Syntaxe

D3DXMATRIX* D3DXMatrixShadow(
  _Inout_       D3DXMATRIX  *pOut,
  _In_    const D3DXVECTOR4 *pLight,
  _In_    const D3DXPLANE   *pPlane
);

Paramètres

pOut [in, out]

Type : D3DXMATRIX*

Pointeur vers la structure D3DXMATRIX qui est le résultat de l’opération.

pLight [in]

Type : const D3DXVECTOR4*

Pointeur vers un D3DXVECTOR4 décrivant la position de la lumière.

pPlane [in]

Type : const D3DXPLANE*

Pointeur vers la source D3DXPLANE.

Valeur retournée

Type : D3DXMATRIX*

Pointeur vers une structure D3DXMATRIX qui aplatit la géométrie dans un plan.

Notes

La fonction D3DXMatrixShadow aplatit la géométrie dans un plan, comme si elle projettait une ombre à partir d’une lumière.

La valeur de retour de cette fonction est la même valeur retournée dans le paramètre pOut. De cette façon, la fonction D3DXMatrixShadow peut être utilisée comme paramètre pour une autre fonction.

Cette fonction utilise la formule suivante pour calculer la matrice retournée.

P = normalize(Plane);
L = Light;
d = dot(P, L)

P.a * L.x + d  P.a * L.y      P.a * L.z      P.a * L.w  
P.b * L.x      P.b * L.y + d  P.b * L.z      P.b * L.w  
P.c * L.x      P.c * L.y      P.c * L.z + d  P.c * L.w  
P.d * L.x      P.d * L.y      P.d * L.z      P.d * L.w + d

Si le composant w de la lumière est 0, le rayon de l’origine à la lumière représente une lumière directionnelle. S’il est 1, la lumière est une lumière de point.

Spécifications

Condition requise Valeur
En-tête
D3DX10Math.h
Bibliothèque
D3DX10.lib

Voir aussi

Fonctions mathématiques