Наконец-то я окончил работу с моими собственными матрицами в OpenGL, и у меня возникла проблема с орфографической проекцией. На данный момент, у меня есть метод, который принимает левый, правый, верхний и нижний и бросает их в матрицу, как это (от here):OpenGL 3.0+: матрица ортографической проекции
2(right-left) 0 0 -right + (left * right) - left
0 2(top-bottom) 0 -top + (top * bottom) - bottom
0 0 -2(farVal-nearVal) -far + (far * near) - far
0 0 0 1
Я тогда умножить эту матрицу на матрицу проекции, и Я получаю абсолютно ничего, что имеет смысл в качестве выхода. Это заставляет меня поверить, что я 1). не используя надлежащую орфографическую матрицу, 2). Не умножать орфографическую матрицу на правильную матрицу, или 3). и то и другое.
Я сомневаюсь, что это 2, потому что всякий раз, когда я работал с устаревшими функциями, glOrtho вызывался, когда текущая матрица была GL_PROJECTION. Итак, как именно вы вычисляете орфографическую матрицу из левого, правого, верхнего и нижнего значений?
Я думаю, вам нужно 2/ширина, 2/высота (вы, кажется, умножаетесь, а не делясь здесь, если я ничего не пропустил). – Robinson
Теперь я чувствую себя глупо. Наконец, я нашел страницу вики на матрице ортопроекции, и это одна из проблем. Другой, который я нашел, - это то, что сказал воин. – CoderTheTyler