Окно просмотра OpenGL не работает

У меня есть 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);

Вот результат:

введите здесь описание изображения


person Adam Silva    schedule 07.01.2015    source источник
comment
возможно, 0, 0 не там, где вы ожидаете, попробуйте высоту и ширину /2, сохраняя при этом смещение   -  person ratchet freak    schedule 07.01.2015


Ответы (1)


Кажется, вы забыли вызвать glTranslatef(), чтобы указать позицию рисунка после:

glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
person karlphillip    schedule 07.01.2015
comment
Я думал, что с помощью окна просмотра он автоматически будет рисовать в окне просмотра. - person Adam Silva; 07.01.2015