View坐标系和Clip坐标系

发布时间 2023-11-14 09:40:47作者: 2086nmj

OpenGL中的坐标系统:https://zhuanlan.zhihu.com/p/354200548

 NDC:Normalized Device Coordinates。所谓的PerspectiveProjection 其实就是将顶点从view 坐标系下,转换到NDC下(https://zhuanlan.zhihu.com/p/25095708?utm_medium=social)NDC是什么坐标系?应该是裁剪坐标系吧?

  • 世界坐标系:世界坐标系是始终固定不变的,OpenGL使用右手坐标系。
  • 对象坐标系:用于建模的坐标系,当模型建立好之后需要对模型进行model变换,才能将模型变换到世界坐标系的对应位置中。
  • 相机坐标系:model变换是将对象坐标系变换到世界坐标系中,view变换是将世界坐标系变换到相机坐标系也就是eye coordinates,通过view变换,可以将场景与我们的观察位置对应起来。
  • 裁剪坐标系:要讲模型顶点的坐标变换到[-1,1]中,也就需要进行归一化设备坐标以及投影变换。投影变换不仅定义了视域体,还定义了如何将顶点投影到屏幕上。投影变换分为透视投影和正交投影,透视投影的视域体是一个视锥,而正交投影的视域体是一个长方体。
  • 屏幕坐标系:屏幕上的设备坐标称为屏幕坐标,又被称为物理坐标,是指输出设备上的坐标。需要将归一化后的坐标变换到相应的屏幕坐标上。