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