Ортогональная проекция, которая показывает больше мировых данных вместо масштабирования при изменении размера окна - PullRequest
2 голосов
/ 06 января 2012

Попытка портировать демонстрационное приложение java2d на реализацию dekstop libgdx.

Это приложение отображает данные в дюймах.Сюжет похож на карту тем, что представляет собой вид местности сверху.Я использую OrthographicCamera в libgdx, и я могу перемещаться влево / вправо / вверх / вниз / масштабирование, все это прекрасно работает.Я борюсь с изменением размеров окна.

Я хочу, чтобы изменение размера окна позволяло пользователю просматривать сразу несколько карт.Я вижу, что вся сцена масштабируется, чтобы соответствовать новому размеру окна.

Например: если у меня есть объект, который составляет 50 дюймов х 50 дюймов в мировых координатах И при текущем уровне масштабирования камеры 50 пикселейx 50 пикселей на экране, когда пользователь затем изменяет размер окна, я хочу, чтобы объект оставался 50 пикселей x 50 пикселей и более мира, чтобы быть раскрытым.

Как это достигается в прямых терминах opengl?

Как мне настроить камеру libgdx, чтобы облегчить это?

Как правильно выбрать тип сцены, которую я пытаюсь настроить (мой гугл-фу не помог мне здесь)?

1 Ответ

1 голос
/ 06 января 2012

В обычном OpenGL вы бы сделали что-то вроде:

glOrtho( 0, windowWidth, 0, windowHeight, 0, 1 )

в каждом окне изменить размер или перерисовать . Это гарантирует, что один блок OpenGL соответствует одному пикселю, а изменение размера окна не масштабирует сцену.

...