我有一个带有3D模型的3D迷宫,用户可以控制它退出迷宫。我想在窗口右下方的视口中放置一个小地图。除非地图不转到视口,否则它的绘制位置为0,0。
这是绘制小地图的代码:

GLfloat SCREEN_WIDTH = glutGet(GLUT_WINDOW_WIDTH);
GLfloat SCREEN_HEIGHT = glutGet(GLUT_WINDOW_HEIGHT);
glViewport(glutGet(GLUT_WINDOW_WIDTH) / 2, 0, glutGet(GLUT_WINDOW_WIDTH) / 2, glutGet(GLUT_WINDOW_HEIGHT) / 2);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
gluOrtho2D(-40, 40, -40, 40);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
glEnable(GL_BLEND);
glRotatef(90, 1, 0, 0);
glDisable(GL_LIGHTING);
glCallList(modelo.labirinto[JANELA_NAVIGATE]);
//glCallList(modelo.chao[JANELA_NAVIGATE]);
glEnable(GL_LIGHTING);
glDisable(GL_BLEND);


结果如下:

最佳答案

看来您忘记了在以下情况下调用glTranslatef()来指定图形的位置:

glMatrixMode(GL_MODELVIEW);
glLoadIdentity();

08-16 19:51