模型视图矩阵和投影矩阵在WebGL中的应用

5
我有点困惑这些矩阵之间的区别。我不知道是否理解了它们的工作原理。
ModelView矩阵是Model和View矩阵的组合,其中View矩阵指定摄像机的位置和方向等特征,而Model矩阵则指定我要绘制的基元的位置框架。
投影矩阵指定摄像机的其他特征,如裁剪空间、投影方法和视野。
这样对吗?谢谢。
1个回答

5
这有点令人困惑。视图矩阵将整个世界移动到与相机相关的位置。相机矩阵(视图矩阵的反转)将相机放在世界中。
制作视图矩阵的方法有多种。虽然使用“lookAt”函数直接生成视图矩阵很常见,但实际上,将相机放置在世界中就像放置其他对象一样更为常见。您需要一个场景层次结构,并将所有内容放入其中:岩石、树木、房屋、汽车、人物、相机。然后计算相机的世界矩阵,这就是“相机矩阵”,然后取其反转即可获得“视图矩阵”。这就是几乎所有3D引擎的工作方式,例如Unity、Unreal、Maya、3DSMax等。
投影矩阵决定诸如视场(广角镜头或长焦镜头)之类的事情。它还帮助定义了纵横比,以便您可以呈现到一个矩形区域,并且有助于定义相机前方可见的距离。 这里是有关投影矩阵的文章这里是有关相机和视图矩阵的另一篇文章

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接