La matrice . Ou plutôt, beaucoup de mathématiques matricielles.
C'est effrayant pour les non-initiés. Il y a généralement trois matrices 4x4 impliquées dans la transformation d'un tas de coordonnées 3D dans l'espace en coordonnées 2D sur l'écran (y compris la profondeur dans l'écran en Z).
Les matrices 3D sont un ensemble de 16 valeurs à virgule flottante disposées dans une grille 4x4. Des algorithmes sont utilisés pour générer les valeurs requises, puis en utilisant la multiplication matrice-vecteur, ces nombres transforment un vecteur tridimensionnel (X, Y, Z).
[ 1, 0, 0, 0 ]
[ 0, 1, 0, 0 ]
[ 0, 0, 1, 0 ]
[ 0, 0, 0, 1 ]
Ceci est la matrice d' identité . Il ne fait essentiellement rien aux coordonnées d'un vecteur.
Modèle
Le premier est la matrice mondiale ou modèle . Cette matrice prend les sommets dans un modèle individuel (comme une caisse) modélisé autour de l'origine (0, 0, 0) et les transforme en coordonnées de sommets mondiaux. Cela peut inclure la mise à l'échelle de l'objet, sa rotation autour de son origine et enfin sa traduction à l'endroit où il se trouve dans la scène.
Vue
La deuxième matrice est la matrice de vue . Cela prend les coordonnées du monde et les transforme pour qu'elles soient dans le contexte de la vue. Le concept de caméra est généralement utilisé pour générer cette matrice.
La caméra contient généralement un vecteur de position , un vecteur de direction ou de cible et un vecteur haut . Ce vecteur haut décrit le «spin» de la caméra.
Ces vecteurs sont utilisés pour générer ce qu'on appelle une matrice de regard .
L'effet que cela a est similaire à la matrice du monde dans le fait qu'elle tourne et déplace essentiellement le monde autour de la caméra pour «positionner» la caméra.
Une caméra de 10 unités le long de l'axe X traduira les coordonnées du monde de 10 unités dans l'autre sens.
Projection
La dernière pièce du puzzle est la matrice de projection . Dans une projection en perspective de type caméra, la matrice transforme presque les coordonnées de l'écran pour donner l'illusion d'une perspective avec un champ de vision de x degrés.
Si vous pensez en termes de coins de l'écran (pour un jeu 640x480), c'est ainsi que la projection "aligne" les coordonnées le long de l'axe Z dans les coordonnées 2D de l'écran. Pour la projection orthographique, aucune mise à l'échelle n'a lieu le long de l'axe Z dans l'écran. Pour la perspective, plus l'objet est éloigné, plus il devient petit par rapport à l'étendue de l'écran.