В моем приложении для iPhone я должен спроектировать 3-ю сцену в 2D координаты экрана для некоторых вычислений. Мои объекты проходят различные вращения, переводы и масштабирование. Таким образом, я полагал, что должен умножить вершины с матрицей ModelView сначала, затем я должен умножить ее с матрицей Ортогональной проекции.
В первую очередь, на правильном пути?
Я имею Образцовую Матрицу Представления, но нуждаюсь в матрице проекции. Существует ли glOrtho () эквивалентен в ES 2.0?
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
Страница руководства для glOrtho ()
описывает эквивалентные операции, так что, если у вас есть под рукой матрица, вы сможете повторно реализовать ее. .