В настоящее время я работаю над реализацией рендеринга с поддержкой OpenGL в 2D игровом движке.
Поскольку пространство координат экрана OpenGL равно [-1,1], я немного смущен относительно того, как он должен быть сопряжен с общей, картезианской 2D системой координат мира.
Предположим, что в моем мире есть [-500, -500] до [1200, 1200], где [0, 0] - мировое происхождение. Нужно ли мне только переводить и масштабировать до координат между -1 и 1? Или есть какая-то другая форма преобразования, которая должна быть выполнена?
Как вы вычисляете, где рисовать объекты на экране, которые имеют определенные позиции в вашей собственной системе координат?
Я был бы признателен за объяснение с и без glOrtho (поэтому мы можем использовать ось Z также для перспективных эффектов).