Kameraraumtransformationen
Scheitelpunkte im Kameraraum werden berechnet, indem die Objektvertices mit der Weltsichtmatrix transformiert werden.
V = V * wvMatrix
Vertexnormale werden im Kameraraum berechnet, indem die Objektnormale mit der umgekehrten Transponierung der Weltsichtmatrix transformiert werden. Die Weltsichtmatrix kann orthogonal sein oder nicht.
N = N * (wvMatrix⁻¹)T
Die Matrixinversion und Matrixtransponierung arbeiten auf einer 4x4-Matrix. Die Multiplikation kombiniert den Normal mit dem 3x3-Teil der resultierenden 4x4-Matrix.
Wenn der Renderzustand auf normalisieren festgelegt ist, werden Vertex-Normalvektoren nach der Transformation in den Kameraraum wie folgt normalisiert:
N = Norm(N)
Die Lichtposition im Kameraraum wird berechnet, indem die Lichtquellenposition mit der Ansichtsmatrix transformiert wird.
Lp = Lp * vMatrix
Die Richtung zum Licht im Kameraraum für ein richtungsgerichtetes Licht wird berechnet, indem die Lichtquellenrichtung mit der Ansichtsmatrix multipliziert, normalisiert und das Ergebnis negiert wird.
Ldir = -norm(Ldir * wvMatrix)
Für ein Punktlicht und einen Scheinwerfer wird die Richtung zum Licht wie folgt berechnet:
Ldir = norm(V - Lp), wobei die Parameter in der folgenden Tabelle definiert sind.
Parameter | Standardwert | Typ | BESCHREIBUNG |
---|---|---|---|
Ldir | – | 3D-Vektor (Gleitkommawerte x, y und z) | Richtungsvektor vom Objektvertex zum Licht |
V | – | 3D-Vektor (Gleitkommawerte x, y und z) | Scheitelpunktposition im Kameraraum |
wvMatrix | Identität | 4x4-Matrix mit Gleitkommawerten | Zusammengesetzte Matrix, die die Welt- und Sichttransformationen enthält |
N | – | 3D-Vektor (Gleitkommawerte x, y und z) | Scheitelpunkt normal |
Lp | – | 3D-Vektor (Gleitkommawerte x, y und z) | Lichtposition im Kameraraum |
vMatrix | Identität | 4x4-Matrix mit Gleitkommawerten | Matrix mit der Ansichtstransformation |
Verwandte Themen
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