Trasformazioni dello spazio della telecameraCamera space transformations

I vertici nello spazio della fotocamera vengono calcolati trasformando i vertici dell’oggetto con la matrice di visualizzazione globale.Vertices in the camera space are computed by transforming the object vertices with the world view matrix.

V = V * wvMatrixV = V * wvMatrix

Nello spazio della fotocamera, le normali dei vertici sono calcolate trasformando le normali dell’oggetto con la trasposizione inversa della matrice di visualizzazione globale.Vertex normals, in camera space, are computed by transforming the object normals with the inverse transpose of the world view matrix. La matrice di visualizzazione globale può anche non essere ortogonale.The world view matrix may or may not be orthogonal.

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

L’inversione e la trasposizione della matrice sono calcolate su una matrice 4x4.The matrix inversion and matrix transpose operate on a 4x4 matrix. La moltiplicazione combina la normale con la porzione 3x3 della matrice 4x4 risultante.The multiply combines the normal with the 3x3 portion of the resulting 4x4 matrix.

Se lo stato di rendering è configurato per normalizzare le normali, i vettori delle normali dei vertici sono normalizzati dopo la trasformazione nello spazio della fotocamera come illustrato di seguito: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)

La posizione della luce nello spazio della fotocamera è calcolata trasformando la posizione della fonte di luce con la matrice di visualizzazione (vMatrix).Light position in camera space is computed by transforming the light source position with the view matrix.

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

La direzione verso la luce nello spazio della fotocamera per una luce direzionale è calcolata moltiplicando la direzione della fonte di luce dalla matrice di visualizzazione, normalizzando e negando il risultato.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)

Per una luce puntiforme e una luce spot, la direzione verso la luce è calcolata come segue:For a point light and a spotlight, the direction to light is computed as follows:

Ldir = norm (V * Lₚ), in cui i parametri vengono definiti nella tabella seguente.Ldir = norm(V * Lₚ), where the parameters are defined in the following table.

ParametroParameter Valore predefinitoDefault value TipoType DescrizioneDescription
LdirLdir N/DN/A Vettore 3D (valori x, y e z in virgola mobile)3D vector (x, y, and z floating-point values) Vettore di direzione dal vertice dell’oggetto alla luceDirection vector from object vertex to the light
VV N/DN/A Vettore 3D (valori x, y e z in virgola mobile)3D vector (x, y, and z floating-point values) Posizione del vertice nello spazio della fotocameraVertex position in camera space
wvMatrixwvMatrix IdentitàIdentity Matrice 4x4 di valori in virgola mobile4x4 matrix of floating-point values Matrice composta contenente le trasformazioni globale e della visualizzazioneComposite matrix containing the world and view transforms
NN N/DN/A Vettore 3D (valori x, y e z in virgola mobile)3D vector (x, y, and z floating-point values) Vertice normaleVertex normal
LₚLₚ N/DN/A Vettore 3D (valori x, y e z in virgola mobile)3D vector (x, y, and z floating-point values) Posizione della luce nello spazio della fotocameraLight position in camera space
vMatrixvMatrix IdentitàIdentity Matrice 4x4 di valori in virgola mobile4x4 matrix of floating-point values Matrice contenente la trasformazione della visualizzazioneMatrix containing the view transform

 

Argomenti correlatiRelated topics

Costanti matematiche dell'illuminazioneMathematics of lighting