Ортогональная проекция с началом координат внизу слева на экране

Я использую привязки Python OpenGL и пытаюсь использовать только современные вызовы OpenGL. У меня есть VBO с вершинами, и я пытаюсь выполнить рендеринг с помощью матрицы ортографической проекции, переданной вершинному шейдеру.

В настоящее время я рассчитываю свою матрицу проекции со следующими значениями:

from numpy import array

w = float(width)
h = float(height)
n = 0.5
f = 3.0

matrix = array([
                   [2/w,        0,        0,        0],
                   [  0,      2/h,        0,        0],
                   [  0,        0,  1/(f-n), -n/(f-n)],
                   [  0,        0,        0,        1],
               ], 'f')


#later
projectionUniform = glGetUniformLocation(shader, 'projectionMatrix')
glUniformMatrix4fv(projectionUniform, 1, GL_FALSE, matrix)

Этот код я получил отсюда:

Формула для матрицы ортогональной проекции?

Кажется, это работает нормально, но я бы хотел, чтобы мой Origin находился в левом нижнем углу экрана. Это функция, которую я могу применить к моей матрице, чтобы все "просто работает, или я должен перевести каждый объект с помощью w / 2 ч / 2 вручную?

примечание стороны: будут ли координаты совпадать с позициями в пикселях, если это будет работать правильно?

Потому что я'Я использую современные методы OpenGL, я нея думаю, что я должен использовать gluOrtho2d или вызовы GL_PROJECTION.

Ответы на вопрос(3)

Ваш ответ на вопрос