Opengl 如何反转场景中特定对象的gluLookat变换?

Opengl 如何反转场景中特定对象的gluLookat变换?,opengl,transformation,Opengl,Transformation,我有下面的场景 glMatrixMode (GL_PROJECTION); glLoadIdentity (); gluPerspective(45, w/h,.1, 100); glMatrixMode(GL_MODELVIEW); glLoadIdentity(); gluLookAt(cameraX,cameraY,cameraZ,0.0,0.0,0.0,0.0,1.0,0.0); drawtheBOT();

我有下面的场景

     glMatrixMode (GL_PROJECTION);
     glLoadIdentity ();
     gluPerspective(45, w/h,.1, 100);

     glMatrixMode(GL_MODELVIEW);
     glLoadIdentity();
     gluLookAt(cameraX,cameraY,cameraZ,0.0,0.0,0.0,0.0,1.0,0.0);

         drawtheBOT();
         drawUserTrackedBall();  // This ball moves in 3d with user controlling it.
当我更改cameraX、cameraY、cameraZ的值时,球的移动也会根据glulookat值进行更改。例如,如果我从正x方向看,我原来的左右移动现在将变成近距离移动和远距离移动

如何取消lookat转换

glMatrixMode(GL_MODELVIEW);
glPushMatrix();
glLoadIdentity();

drawUserTrackedBall();

glMatrixMode(GL_MODELVIEW);
glPopMatrix();

glMatrixMode的调用不是多余的,因为我不知道绘图函数内部发生了什么

glMatrixMode(GL_MODELVIEW);
glLoadIdentity();

glPushMatrix();
gluLookAt(cameraX,cameraY,cameraZ,0.0,0.0,0.0,0.0,1.0,0.0);
drawtheBOT();

glMatrixMode(GL_MODELVIEW);
glPopMatrix();

drawUserTrackedBall();  // This ball moves in 3d with user controlli
glMatrixMode(GL_MODELVIEW);
glLoadMatrix(bot_modelview);
drawtheBOT();

glMatrixMode(GL_MODELVIEW);
glLoadMatrix(ball_modelview);
drawUserTrackedBall();