D3DXMatrixShadow-Funktion (D3DX10Math.h)
Hinweis
Die D3DX10-Hilfsprogrammbibliothek ist veraltet. Es wird empfohlen, stattdessen DirectXMath zu verwenden.
Erstellt eine Matrix, die die Geometrie in eine Ebene vereinfacht.
Syntax
D3DXMATRIX* D3DXMatrixShadow(
_Inout_ D3DXMATRIX *pOut,
_In_ const D3DXVECTOR4 *pLight,
_In_ const D3DXPLANE *pPlane
);
Parameter
-
pOut [in, out]
-
Typ: D3DXMATRIX*
Zeiger auf die D3DXMATRIX-Struktur , die das Ergebnis des Vorgangs ist.
-
pLight [in]
-
Typ: const D3DXVECTOR4*
Zeiger auf einen D3DXVECTOR4 , der die Position des Lichts beschreibt.
-
pPlane [in]
-
Typ: const D3DXPLANE*
Zeiger auf die D3DXPLANE-Quelle.
Rückgabewert
Typ: D3DXMATRIX*
Zeiger auf eine D3DXMATRIX-Struktur, die die Geometrie in eine Ebene vereinfacht.
Bemerkungen
Die D3DXMatrixShadow-Funktion vereinfacht die Geometrie in eine Ebene, als ob ein Schatten aus einem Licht gegossen würde.
Der Rückgabewert für diese Funktion ist derselbe Wert, der im pOut-Parameter zurückgegeben wird. Auf diese Weise kann die Funktion D3DXMatrixShadow als Parameter für eine andere Funktion verwendet werden.
Diese Funktion verwendet die folgende Formel, um die zurückgegebene Matrix zu berechnen.
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
Wenn die w-Komponente des Lichts 0 ist, stellt der Strahl vom Ursprung zum Licht ein gerichtetes Licht dar. Wenn es 1 ist, ist das Licht ein Punktlicht.
Anforderungen
Anforderung | Wert |
---|---|
Header |
|
Bibliothek |
|
Siehe auch
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für