正z轴是从屏幕指向你,相机往后移动,沿着z轴正方向。
方向向量(Direction Vector)并不是最好的名字,因为它实际上指向从它到目标向量的相反方向。
look at
使用三个相互垂直(或非线性)的轴定义了一个坐标空间,可以用3个轴外加一个平移向量来创建一个矩阵,
glm有对应的调用函数,同时可以设置通过键盘控制。
右向量进行了标准化。如果我们没对这个向量进行标准化,最后的叉乘结果会根据cameraFront变量返回大小不同的向量。如果我们不对向量进行标准化,我们就得根据摄像机的朝向不同加速或减速移动了,但如果进行了标准化移动就是匀速的。
移动速度
相机还可以设置移动速度,处理器不同,绘制能力不同,所以确保硬件上移动速度相同。
时间差(deltatime)变量,储存了渲染上一帧所用时间。速度*d,如果d很大,意味着上一帧渲染花费了大量时间。
视角移动
键盘移动没啥意思,不能转向,鼠标移动!
欧拉角
俯仰角(pitch),偏航角(yaw),滚转角(roll)
glm有具体的封装调用
摄像机类
看一看,然后就会用就好