我正在 OpenGL 中对两个对象进行旋转。一个有效的:
Model1 = glm::translate( ... );
Model1 = glm::scale( ... );
Model1 = glm::rotate(Model1, 90 , glm::vec3(1,0,0));
还有一个没有:
Model2 = glm::translate( ... );
Model2 = glm::scale( ... );
Model2 = glm::rotate(Model2, 90 , glm::vec3(0,0,0));
这让我的对象消失了。
我假设这是由于乘以 0(或类似的东西)引起的。 那么No rotation应该怎么表示呢?
axis-angle 是一种使用旋转的好方法,还是应该将它们存储为四元数并使用不同的函数或在每次应用 Rotation 时转换回 angle-axis?
最佳答案
Then, how should I represent No rotation?
角度为 0(而不是 90)。不是通过退化旋转轴。
关于c++ - GLM - 旋转使对象消失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39305559/