Search code examples
iphone-sdk-3.0opengl-esprojection-matrix

OpenGL ES 2.0 equivalent of glOrtho()?


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?


Solution

  • 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