此函数基于下面列出的指定参数构建 “观察”(视野)矩阵。由于此函数修改视图矩阵而不是投影矩阵,因此应首先使用其他矩阵函数 matrix_build_projection_perspective 初始化投影矩阵,然后使用此函数在投影内移动视图相机。
要设置视图,首先需要定义你 从 什么位置查看,该位置由参数 (xfrom, yfrom, zfrom)指定。 接下来,你必须指定你所 看到 的方向,这是通过给出第二个要查看的参数 (xto, yto, zto) 来完成的。 最后,你仍然可以围绕从视点(viewpoint)到观察点(looking point)的线旋转摄像机,并且为了指定这一点,我们必须给出一个 “up” 矢量 - 摄像机中向上的方向。这是由最后三个参数 (xup, yup, zup) 给出的。
matrix_build_lookat(xfrom, yfrom, zfrom, xto, yto, zto, xup, yup, zup);
参数 描述 xfrom 观察位置的 x 坐标。 yfrom 观察位置的 y 坐标。 zfrom 观察位置的 z 坐标。 xto 要观察位置的 x 坐标。 yto The y coordinate of the position to look to. zto The z coordinate of the position to look to. xup up 矢量的 x 坐标。 yup up 矢量的 y 坐标。 zup up 矢量的 z 坐标。
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);
上面的代码创建了一个新的视野矩阵和正交矩阵,将它们的 ID 存储在局部变量中,然后使用它们来设置分配给 view port[0](视口 0) 的摄像机的视野和投影矩阵。