Transformations de l’espace de caméraCamera space transformations

Les vertex dans l’espace de caméra sont calculés en transformant les vertex de l’objet avec la matrice globale.Vertices in the camera space are computed by transforming the object vertices with the world view matrix.

V = V * wvMatrixV = V * wvMatrix

Les normales du vertex, dans l’espace de caméra, sont calculées en transformant les normales d’objet avec la transposition inverse de la matrice globale.Vertex normals, in camera space, are computed by transforming the object normals with the inverse transpose of the world view matrix. La matrice globale peut ou non être orthogonale.The world view matrix may or may not be orthogonal.

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

L’inversion matricielle et la transposition matricielle fonctionnent sur une matrice 4x4.The matrix inversion and matrix transpose operate on a 4x4 matrix. La multiplication associe la normale à la partie 3x3 de la matrice 4x4 qui en résulte.The multiply combines the normal with the 3x3 portion of the resulting 4x4 matrix.

Si l’état de rendu est défini de manière à normaliser les normales, les vecteurs normaux du vertex sont normalisés après la transformation dans l’espace de caméra, comme indiqué ci-après :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 position de la lumière dans l’espace de caméra est calculée en transformant la position de la source de lumière avec la matrice globale.Light position in camera space is computed by transforming the light source position with the view matrix.

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

La direction de la lumière dans l'espace de caméra, dans le cas d'une lumière directionnelle, est calculée en multipliant la direction de la source de lumière par la matrice globale, puis en normalisant et en inversant le résultat.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)

Pour une lumière ponctuelle et un projecteur, la direction par rapport à la lumière est calculée comme suit :For a point light and a spotlight, the direction to light is computed as follows:

Ldir Norm (V * Lₚ), où les paramètres sont définis dans le tableau suivant.Ldir = norm(V * Lₚ), where the parameters are defined in the following table.

ParamètreParameter Valeur par défautDefault value TypeType DescriptionDescription
LdirLdir Non applicableN/A Vecteur 3D (valeurs à virgule flottante x, y et z)3D vector (x, y, and z floating-point values) Vecteur de direction entre le vertex de l’objet et la lumièreDirection vector from object vertex to the light
VV Non applicableN/A Vecteur 3D (valeurs à virgule flottante x, y et z)3D vector (x, y, and z floating-point values) Position du vertex dans l'espace de caméraVertex position in camera space
wvMatrixwvMatrix IdentitéIdentity Matrice 4x4 de valeurs à virgule flottante4x4 matrix of floating-point values Matrice composite contenant les transformations globales et d’affichageComposite matrix containing the world and view transforms
NN Non applicableN/A Vecteur 3D (valeurs à virgule flottante x, y et z)3D vector (x, y, and z floating-point values) Normale du vertexVertex normal
LₚLₚ Non applicableN/A Vecteur 3D (valeurs à virgule flottante x, y et z)3D vector (x, y, and z floating-point values) Position de la lumière dans l’espace de caméraLight position in camera space
vMatrixvMatrix IdentitéIdentity Matrice 4x4 de valeurs à virgule flottante4x4 matrix of floating-point values Matrice contenant la transformation d’affichageMatrix containing the view transform

 

Rubriques connexesRelated topics

Mathématiques d’éclairageMathematics of lighting