OpenGL通常"Up"方向?

OpenGL normally "Up" direction?

本文关键字:方向 Up OpenGL 通常      更新时间:2023-10-16

我最近关注了这个网站:https://learnopengl.com/学习OpenGL,这时我发现在glm::lootAt函数中,文章说的第三个参数通常是(0.0, 1.0, 0.0(,但是为什么呢?我认为描述像 (x, y( 和 z 这样的项目的位置是高度(向上(,这种方式不是更直观吗?

顺便说一句,我在搅拌机中发现,z也是"向上"的方向。所以我想知道为什么我们使用这种演示文稿(或者我是否使用自己的风格可以吗?

首先:一切都与约定有关。从数学的角度来看,你甚至可以使用x-up,这很好(尽管我不会推荐它,除非你有很好的理由使用它(。

最重要的是,它是关于坚持你想要使用的约定,并以一致的方式,让你的价值观和计算有意义。无论你决定使用y还是z作为向上向量,你都需要在整个代码中坚持这一点。

至于为什么y向上,你也可以"直觉地"认为xy是屏幕上的侧面和向上矢量,而z,第三个维度,当添加到这两个维度时,会增加2D空间的深度。

最终,你可以使用任何你想要的,但只要你坚持下去,并且你也考虑到整个管道。如果您(或其他人(在Blender或任何其他3D建模软件中创建模型,如果模型空间中的向上向量与您使用的向量不同,则必须考虑到这一点。