为什么我的矩阵旋转会在OpenGL中倒退

Why would my matrix rotations be going backwards in OpenGL

本文关键字:OpenGL 我的 旋转 为什么      更新时间:2023-10-16

我正在使用我当年制作的 float4x4 矩阵类。

直到现在,我从未使用过openGL,并且我已经进入了动画皮肤。

但是调试我的骨架时,我意识到我的插值位置是正确的,但旋转是向后移动的,所以如果一个人向前倾斜。 动画骨架确实向前倾斜,但这些倾斜的旋转方向相反。

我确实使用四元数计算。我以前在 DirectX 中做过这个,但我错过了 openGL 和 directX 之间的不同之处吗?

我只是想要一篇文章的链接,或者只是有人解释旋转角度之间的任何主要差异,或者只是暗示为什么我的旋转可能朝着相反的方向发展

我想知道您是否遇到了与着色器正在寻找列主要而不是行主要矩阵这一事实有关的问题。 即您可能需要转置矩阵。

另一个问题可能是你的空间的惯用手,OpenGL是右撇子,所以z在屏幕上是负的。

我又想到了另一件事。 OpenGL 中没有摄像头,相反,当您进行视图变换时,您正在执行几何体的逆变换。