我正在使用glm::rotate
旋转场景中立方体的变换矩阵。
"cube->t = glm::rotate(cube->t, stepTime * 50.f, glm::vec3(0.f, 1.f, 0.f));"
每帧调用一次,cube->t
所讨论的矩阵在哪里。
奇怪的是,在 20 分钟的过程中(或者如果我旋转stepTime * 5000.f
而不是2 分钟stepTime * 50.f
),立方体在 X 和 Z 轴上明显缩放,这两个轴上的缩放在任何时候都是相同的(高度立方体的大小从不改变,但宽度和深度的变化量完全相同)。在 的情况下5000.f
, 变小, 和正常的50.f
or 100.f
, 变大。
我认为这可能是舍入错误的问题,但除此之外我不知道是什么原因造成的。这是舍入错误吗?我可以通过定期标准化矩阵来解决它吗?glm 是否具有标准化矩阵的功能,还是我必须自己编写一个?