5

In my iphone app, I need to project 3d scene into the 2D coordinates of the screen for some calculations. My objects go through various rotations, translations and scaling. So I figured I need to multiply the vertices with ModelView matrix first, then I need to multiply it with the Orthogonal projection matrix.

First of all am on the right track?

I have the Model View Matrix, but need the projection matrix. Is there a glOrtho() equivalent in ES 2.0?

genpfault
  • 51,148
  • 11
  • 85
  • 139
Sahil Sachdeva
  • 442
  • 3
  • 5
  • 12

2 Answers2

14
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;

For a fixed resolution (1024x768 in my case for iPad) I used this matrix and everything works like charm :) Here is complete description what values you need to put in your matrix: glOrtho.html

Alexander Voloshyn
  • 924
  • 2
  • 8
  • 21
3

The manual page for glOrtho() describes the equivalent operations, so as long as you have the matrix handy should be able re-implement it.

unwind
  • 391,730
  • 64
  • 469
  • 606