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();