在中心周围的物体周围旋转场景

时间:2014-04-09 22:30:19

标签: opengl camera glulookat

我有一个物体,它位于(0.0,0.0,-39.0)并且从不移动,场景的其余部分相对于该物体移动;我希望相机能够以相同的方向看待这个物体。当我这样做时:

gluLookAt(0.0, 120.0, 10.0, 0.0, 0.0, -39.0, 0.0, 0.0, 1.0);
drawobject();
glTranslatef(0.0, y, 0.0);
glRotatef(angle, 0.0, 0.0, 1.0);
drawScene();

而不是围绕物体旋转的场景(实际上围绕世界z轴),它围绕其中心旋转。如果我改变平移和旋转的顺序,那么它会正确地围绕对象旋转,但它会在场景y方向上转换(我希望它向世界y方向平移)。我想我知道为什么会这样,但我不知道如何修复它。我想我已经让自己混淆了XD。

我应该补充一点,我使用箭头键来获取用户的输入以改变" y"和"角度"。所以,基本上如果这个对象是玩家,我希望相机一直看着它,玩家可以使用键盘移动。然而,我没有移动播放器,而是决定移动场景。我不确定这是否是标准方法。

0 个答案:

没有答案