2013-11-30 2 views
-1

Когда я пытаюсь переместить квадрат opengl вне размера главного окна, он не отображает.LWJGL не выводит наружу Режим отображения

Скажите, если у меня есть окно 600x800. Затем я изменяю его размер в полноэкранном режиме. Как только я перемещаю квад (плеер) за пределы определенных свойств окна, он исчезает. Я думаю, что это важно, потому что я работаю над верхней частью RPG, и он будет перемещаться по плоскости x и y. Кроме того, если этого недостаточно, как бы я сделать камеру, которая держит игрока в центре ... До сих пор я

glMatrixMode(GL_PROJECTION); 
    glLoadIdentity(); 
    glOrtho(0, 845, 0, 520, -1, 1); 
    glMatrixMode(GL_MODELVIEW); 

я гавань была в состоянии проверить это в связи с первой проблемой

+0

Можете ли вы включить код, который вы используете, когда вы изменяете размер окна в полноэкранном режиме? В дополнение к изменению матрицы проецирования вам также необходимо установить окно просмотра. Окно просмотра ограничивает область окна, на которую проецируются объекты, обычно вы должны установить как матрицу проекции, так и область просмотра, когда вы изменяете размер окна. Фактически, настройка видового экрана является более важной из двух операций, так как иногда вы не хотите изменять проецируемые координаты, но вы определенно хотите проецировать все на полное окно. –

ответ

0

Со стороны держать камеру в центре. Просто переведите все -x, -y относительно позиции камеры/игрока.

glTranslatef(-cameraX, -cameraY, 0); 

Поэтому, когда вы перемещаете игрока, измените положение игроков и переведите все наоборот.

Смежные вопросы