OpenGL:如何更改我的坐标设置



据我了解,OpenGL使用右侧坐标系,至少在剪辑空间中,这样工作:

  • x点正确
  • y指向
  • z指向屏幕

这意味着,如果没有对用于转换的所有矩阵进行任何修改,世界空间坐标如下:

  • X-Z平面是水平的
  • X-Y和Z-Y平面是垂直的

如果我想更改它,以便Z轴指向Z轴怎么办?我该怎么做?我已经考虑过将所有矩阵乘以旋转矩阵,该旋转矩阵只将所有坐标移动90度,或者,一旦我将数据发送到GPU,我可以更改向量的y和z组件,但是这些似乎比实际的解决方法更像是实际的。解决方案,如果为完成了场景中的每个网格,他们也可能会受到打击。有什么标准的方法吗?我有问题吗?

夹子和NDC空间是左手轴系统,而不是按照每个x,y,z,轴的定义。

您可以拥有多个轴系统。例如,某些"对象存储"使用左手系统。如果您从OpenGL开始,请尝试将所有内容设置在右撇子系统中,您将更容易理解。

您的对象通常在其自己的本地系统(右手)中定义。您将它们放在"世界"矩阵中。您会从相机位置看到世界,该位置需要"视图"矩阵。然后,您将所有这些矩阵投影。
如您所见,矩阵无处不在。不要害怕他们。

从轴系统更改为另一个矩阵。网络中有很多示例。

最新更新