Fonction D3DXMatrixShadow (D3dx9math.h)
Notes
La bibliothèque d’utilitaireS D3DX 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 une structure D3DXVECTOR4 décrivant la position de la lumière.
-
pPlane [in]
-
Type : const D3DXPLANE*
Pointeur vers la structure D3DXPLANE source.
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 |
|
Bibliothèque |
|
Voir aussi