OpenGL ES 2.0 эквивалентно glOrtho ()? - PullRequest
5 голосов
/ 17 мая 2010

В моем приложении для iPhone мне нужно проецировать трехмерную сцену в 2D-координаты экрана для некоторых вычислений. Мои объекты проходят различные повороты, переводы и масштабирование. Поэтому я решил, что сначала нужно умножить вершины на матрицу ModelView, а затем умножить ее на матрицу ортогональной проекции.

Прежде всего, я на правильном пути?

У меня есть матрица представления модели, но мне нужна матрица проекции. Есть ли в ES 2.0 эквивалент glOrtho ()?

Ответы [ 2 ]

13 голосов
/ 02 июня 2010
mat4 projectionMatrix = mat4( 2.0/768.0, 0.0, 0.0, -1.0,
                              0.0, 2.0/1024.0, 0.0, -1.0,
                              0.0, 0.0, -1.0, 0.0,
                              0.0, 0.0, 0.0, 1.0);                        

gl_Position = position;
gl_Position *= rotationMatrix;
gl_Position.x -= translateX;
gl_Position.y -= translateY;
gl_Position *= projectionMatrix;

Для фиксированного разрешения (1024x768 в моем случае для iPad) я использовал эту матрицу, и все работает как шарм :) Вот полное описание того, какие значения нужно поместить в матрицу: glOrtho.html

3 голосов
/ 17 мая 2010

Страница справочника для glOrtho() описывает эквивалентные операции, поэтому, если у вас есть удобная матрица, вы сможете ее реализовать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...