OpenGL通常"Up"方向?
OpenGL normally "Up" direction?
我最近关注了这个网站:https://learnopengl.com/学习OpenGL,这时我发现在glm::lootAt函数中,文章说的第三个参数通常是(0.0, 1.0, 0.0(,但是为什么呢?我认为描述像 (x, y( 和 z 这样的项目的位置是高度(向上(,这种方式不是更直观吗?
顺便说一句,我在搅拌机中发现,z也是"向上"的方向。所以我想知道为什么我们使用这种演示文稿(或者我是否使用自己的风格可以吗?
首先:一切都与约定有关。从数学的角度来看,你甚至可以使用x
-up,这很好(尽管我不会推荐它,除非你有很好的理由使用它(。
最重要的是,它是关于坚持你想要使用的约定,并以一致的方式,让你的价值观和计算有意义。无论你决定使用y
还是z
作为向上向量,你都需要在整个代码中坚持这一点。
至于为什么y
向上,你也可以"直觉地"认为x
和y
是屏幕上的侧面和向上矢量,而z
,第三个维度,当添加到这两个维度时,会增加2D空间的深度。
最终,你可以使用任何你想要的,但只要你坚持下去,并且你也考虑到整个管道。如果您(或其他人(在Blender或任何其他3D建模软件中创建模型,如果模型空间中的向上向量与您使用的向量不同,则必须考虑到这一点。
相关文章:
- 使用Unreal C++获取VR耳机的世界位置/方向
- 在C++中向零方向近似的最佳方法
- 垂直方向的 Gtk3+ 旋转按钮 (c/c++)
- 如何让C++'tally up'结果并制定计划?
- OpenVR:向视图方向移动
- QGraphicsItems not showing up QGraphicsScene
- 来自逆 vp 矩阵和相机位置的光线方向不正确
- 带有枚举方向/类型的气泡排序结构数组
- OpenGL通常"Up"方向?
- 定义/预设NURBS起点和终点的方向
- 如何按另一个向量的方向调整一个向量?
- 粒子系统:所有粒子都朝同一方向运动
- C++指标评价方向
- SFML - 弹丸以不同的方向减速
- C++位移位在相反方向上具有相同的常量,结果不同,代码更改很小
- 如何在相对于观看方向的地形中移动
- RCPP 函数,用于在 4 个方向上生成随机游走
- "in"和"out"在参数方向上是什么意思?
- 使用libgpiod,如何动态切换请求行的方向
- OpenGL:在那个方向上旋转和移动