ModelView 和投影矩阵 WebGL

ModelView and Projection Matrix WebGL

我对这些矩阵之间的区别有点困惑。我不知道我是否理解它们是如何工作的。

模型视图矩阵是模型和视图矩阵的组合,其中视图矩阵是指定相机位置和方向等特征的矩阵,而模型矩阵是指定基元位置框架的矩阵我要画的。

投影矩阵指定相机的其他特征,如剪辑 space、投影方法和视野。

对吗? 谢谢

有点混乱。 View Matrix 将整个世界移动到与相机相关的位置。相机矩阵(视图矩阵的逆矩阵)将相机放在世界中。

有多种制作视图矩阵的方法。虽然通常使用直接生成视图矩阵的 "lookAt" 函数。实际上更常见的是将您的相机像任何其他物体一样放在世界中。你会有一个场景层次结构,把世界上的所有东西都放在一起,岩石、树木、房屋、汽车、人、相机。然后计算相机的世界矩阵,即 "camera matrix",然后取其倒数,得到 "view matrix"。这几乎是所有 3d 引擎的工作方式,Unity、Unreal、Maya、3DSMax 等。

投影矩阵决定了视野(广角镜头或长焦镜头)之类的东西。它还有助于定义方面,以便您可以渲染到矩形区域,并且有助于定义相机前方的可见距离。

Here's an article on projection matrices. Here's another on camera and view matrices