matrix_build_lookat


描述

此函数基于下面列出的指定参数构建 “观察”(视野)矩阵。由于此函数修改视图矩阵而不是投影矩阵,因此应首先使用其他矩阵函数 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 坐标。


Returns:

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) 的摄像机的视野和投影矩阵。


上一页:矩阵函数
下一页:matrix_build_projection_ortho
© Copyright YoYo Games Ltd. 2018 All Rights Reserved