Cette fonction construit une matrice "look-at" (vue) basée sur les paramètres spécifiés listés ci-dessous. Puisque cette fonction modifie la matrice de vue et non la matrice de projection, vous devez d'abord initialiser la matrice de projection en utilisant l'autre fonction de la matrice. matrix_build_projection_perspective, utilisez cette fonction pour déplacer la caméra dans la projection.
Pour définir la vue, vous devez d'abord définir la position à partir de laquelle vous vous trouvez, ce qui est indiqué par les paramètres (xfrom, yfrom, zfrom). Ensuite, vous devez indiquer la direction que vous regardez ce qui se fait en donnant un second point de se tourner vers les arguments (XTO, YYZ, ZPour). Enfin, vous pouvez toujours faire pivoter la caméra autour de la ligne du point de vue au point de vue, et pour spécifier cela, nous devons donner un vecteur «haut» - la direction qui est vers le haut dans la caméra. Ceci est donné par les trois derniers arguments (xup, yup, zup).
matrix_build_lookat(xfrom, yfrom, zfrom, xto, yto, zto, xup, yup, zup);
Argument La description xfrom La coordonnée x de la position à regarder. yfrom La coordonnée y de la position à regarder. zfrom La coordonnée z de la position à regarder. xto La coordonnée x de la position à regarder. yto La coordonnée x de la position à regarder. zto La coordonnée x de la position à regarder. xup La coordonnée x du vecteur "up". yup La coordonnée y du vecteur "up". zup La coordonnée z du vecteur "up".
Matrix index
viewmat = matrix_build_lookat(640, 240, -10, 640,
240, 0, 0, 1, 0);
projmat = matrix_build_projection_ortho(640, 480, 1.0,
32000.0);
camera_set_view_mat(view_camera[0], viewmat);
camera_set_proj_mat(view_camera[0], projmat);
Le code ci-dessus crée une nouvelle matrice de référence et une matrice orthographique, stocke leurs identifiants dans des variables locales, puis les utilise pour définir la vue et les matrices de projection pour la caméra assignée au port de visualisation [0].