OpenGL ES 2.0 equivalent of glOrtho()?

Sahil Sachdeva picture Sahil Sachdeva · May 17, 2010 · Viewed 11k times · Source

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?

Answer

Alexander Voloshyn picture Alexander Voloshyn · Jun 2, 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;

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