关于模型视图矩阵的相机

来源:互联网 发布:中国核潜艇096知乎 编辑:程序博客网 时间:2024/05/21 00:15
模型视图矩阵就是以眼睛为坐标系的原点建立的空间参考直角坐标系。
建立模型视图矩阵的过程,就是建立让相机模型与世界坐标系重合的过程。
第一人称是先进行缩放变换*再进行平移变换,变换到与世界坐标系重合*再进行旋转变换。
return xf.m_rotateMat * xf.m_translateMat * xf.m_scaleMat;
轨道相机:
先进行缩放,在进行旋转,再平移到与世界坐标系进行重合。
return xf.m_translateMat * xf.m_rotateMat * xf.m_scaleMat;
一个局部坐标系下的模型,乘以一个模型视图矩阵,那么就变化到了视图空间下。这个视图矩阵,就是建立的一个
人眼坐标基以矩阵的形式进行表示。那么轨道相机就相当于人眼空间下将模型先进行缩放,再进行旋转,再进行平移。

而第一人称相机就相当于将模型进行缩放,再进行平移,再进行旋转。


记住:视图矩阵就是以眼睛为坐标中心圆心建立的空间直角坐标系。


视图矩阵,由相机的空间位置(平移)和相机的姿态(缩放,旋转)组成。
一种构建方式为Look,up,right建立视图矩阵的坐标基。
另一种是以矩阵分量的形式,缩放,旋转,平移。因为乘以视图矩阵,就相当于变化到了视图矩阵坐标基下。
就是以人眼为中心看模型。就相当于对一个在原点的模型。进行这种变换。

以人眼为中心的角度看待问题。 变换就是在不同的角度看待问题而已。