我的对象在x轴上从A移动到B,并且除了它之外没有对象的平移。现在,在移动时,我想围绕y轴旋转它,并且运动应该相应地改变,我的意思是如果我在从-x轴移动到+ x轴时向右旋转,它应该朝着z方向的近平面移动。我正在使用透视投影。我在gltranslatef中有变量,在循环中修改后我有glscalef来缩放由分层结构组成的整个对象。现在我尝试使用代码来实现预期的结果,但它无法正常工作。
glTranslatef(move, 0, 0);
// If I comment these 3 lines, it does not affect the output
glTranslatef(-move, 0, 0);
glRotatef(rotate,0,1,0);
glTranslatef(move, 0, 0);
glScalef(0.2, 0.2, 1.0);
答案 0 :(得分:0)
您的描述不够准确。 一方面,你提到围绕y轴旋转它。另一方面它应该向近平面移动。
重要的问题是:您如何设置投影矩阵? 一般来说,您尝试在代码中实现的目标看起来并不太糟糕。但是,您可能已经设置了正交投影矩阵。