2013-08-06 2 views
0

Наконец-то я окончил работу с моими собственными матрицами в 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. Итак, как именно вы вычисляете орфографическую матрицу из левого, правого, верхнего и нижнего значений?

+0

Я думаю, вам нужно 2/ширина, 2/высота (вы, кажется, умножаетесь, а не делясь здесь, если я ничего не пропустил). – Robinson

+0

Теперь я чувствую себя глупо. Наконец, я нашел страницу вики на матрице ортопроекции, и это одна из проблем. Другой, который я нашел, - это то, что сказал воин. – CoderTheTyler

ответ

1

Ну, технически вам не нужно что-то требовать от вашей орто-матрицы. Используя конвейер с фиксированной функцией, вы обычно загружаете идентификационную матрицу в стек матриц проекции, поэтому умножение орто-матрицы на нее оставит только орто-матрицу в стеке проекционных матриц.

В вашем случае, что бы вы не умножали на орто, это, вероятно, неверно (то есть не идентичность). Предложение: не размножайтесь, просто загрузите его.

+0

Эта фиксированная половина проблемы. Другой был поднят Робинсоном в комментариях выше. Благодаря! И для будущих ссылок на других людей ознакомьтесь с этой страницей, чтобы найти правильную установку орфографической проекции: http://en.wikipedia.org/wiki/Orthographic_projection_%28geometry%29 – CoderTheTyler

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