KameraraumtransformationenCamera space transformations

Eckpunkte im Kameraraum werden durch das Wandeln der Objekteckpunkte mit der Weltansichtsmatrix berechnet.Vertices in the camera space are computed by transforming the object vertices with the world view matrix.

V = V * WvMatrixV = V * wvMatrix

Vertexspezifische Normalen im Kameraraum werden berechnet, indem die Normalen des Objekts mit der inversen Umsetzung der globalen Ansichtsmatrix transformiert werden.Vertex normals, in camera space, are computed by transforming the object normals with the inverse transpose of the world view matrix. Eine globale Ansichtsmatrix kann entweder orthogonal sein oder nicht.The world view matrix may or may not be orthogonal.

N = N * (wvMatrix⁻¹)TN = N * (wvMatrix⁻¹)T

Die Matrixinversion und der Matrixaustausch werden auf einer 4 x 4-Matrix ausgeführt.The matrix inversion and matrix transpose operate on a 4x4 matrix. Die Multiplikation kombiniert den normalen Teil mit dem 3 x 3-Teil der resultierenden 4 x 4-Matrix.The multiply combines the normal with the 3x3 portion of the resulting 4x4 matrix.

Wenn der Renderstatus so festgelegt ist, dass die Normalen normalisiert werden, werden Scheitelnormalenvektoren wie folgt nach der Transformation auf den Kameraraum normalisiert:If the render state is set to normalize normals, vertex normal vectors are normalized after transformation to camera space as follows:

N = norm(N)N = norm(N)

Die Beleuchtungsposition im Kameraraum wird durch die Transformation der Position der Lichtquelle mit der Ansichtsmatrix berechnet.Light position in camera space is computed by transforming the light source position with the view matrix.

Lₚ = Lₚ * vMatrixLₚ = Lₚ * vMatrix

Die Richtung des Lichts im Kameraraum für gerichtetes Licht wird durch die Multiplikation der Richtung der Lichtquellen mit der Ansichtsmatrix berechnet, normalisiert und das Resultat wird negiert.The direction to the light in camera space for a directional light is computed by multiplying the light source direction by the view matrix, normalizing, and negating the result.

LDir = - Norm (LDir * WvMatrix)Ldir = -norm(Ldir * wvMatrix)

Für ein punktuelles Licht und ein Spotlight wird die Richtung der Lichtquelle wie folgt berechnet:For a point light and a spotlight, the direction to light is computed as follows:

LDir = Norm (V * Lₚ), wobei die Parameter in der folgenden Tabelle definiert werden.Ldir = norm(V * Lₚ), where the parameters are defined in the following table.

ParameterParameter StandardwertDefault value TypType BeschreibungDescription
LdirLdir n. a.N/A 3D-Vektor (X-, Y- und Z-Gleitkommawerte)3D vector (x, y, and z floating-point values) Richtungsvektor vom Objekt-Vertex bis zur LichtquelleDirection vector from object vertex to the light
VV n. a.N/A 3D-Vektor (X-, Y- und Z-Gleitkommawerte)3D vector (x, y, and z floating-point values) Vertexposition im KameraraumVertex position in camera space
wvMatrixwvMatrix IdentitätIdentity 4 x 4-Matrix der Gleitkommawerte4x4 matrix of floating-point values Zusammengesetzte Matrix mit globaler und AnsichtstransformationComposite matrix containing the world and view transforms
NN n. a.N/A 3D-Vektor (X-, Y- und Z-Gleitkommawerte)3D vector (x, y, and z floating-point values) VertexnormaleVertex normal
LₚLₚ n. a.N/A 3D-Vektor (X-, Y- und Z-Gleitkommawerte)3D vector (x, y, and z floating-point values) Position der Lichtquelle im KameraraumLight position in camera space
vMatrixvMatrix IdentitätIdentity 4 x 4-Matrix der Gleitkommawerte4x4 matrix of floating-point values Matrix mit AnsichtstransformationMatrix containing the view transform

 

Verwandte ThemenRelated topics

Mathematik der BeleuchtungMathematics of lighting