2013-06-12 3 views
5

Я начал с OpenGL и узнал о модели, представлении и матрице проекции. По моему мнению, проекционная матрица необходима только для проектирования трехмерного объекта на 2D-поверхность (экран). Так что, если я хочу создать 2D-игру, мне даже нужно будет возиться с матрицей проецирования?Использование OpenGL для 2D

ответ

6

Нет. При работе исключительно с двумя измерениями вы можете оставить матрицу проекции в качестве матрицы идентичности.

8

Возможно, было бы неплохо использовать матрицу проекции для определения вашей системы координат. По умолчанию окно будет определено между [-1,1] как для x, так и для y независимо от разрешения и соотношения сторон. Если вы не исправите это с помощью матрицы проекций, вам придется компенсировать другим способом. Вы хотите, чтобы квадрат отображался как квадрат, а не прямоугольник.

В зависимости от вашей версии GL вы можете позвонить glOrtho, построить ее вручную или использовать glm::ortho.

По моему опыту, работа над системой по умолчанию [-1,1] крайне непрактична. Например: вы не хотите, чтобы вращение вокруг оси z искажало вашу геометрию.

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