OpenGL ES 2.0 equivalente di glOrtho ()?
-
27-09-2019 - |
Domanda
Nel mio iphone app, ho bisogno di proiettare 3d scena nelle 2D coordinate dello schermo per alcuni calcoli. I miei oggetti passano attraverso varie rotazioni, traduzioni e ridimensionamento. Così ho pensato che ho bisogno di moltiplicare i vertici con modelview matrix prima, poi ho bisogno di moltiplicare con la matrice di proiezione ortogonale.
Prima di tutto del mattino sulla strada giusta?
Ho il Model View Matrix, ma serve la matrice di proiezione. C'è una glOrtho () equivalente a ES 2.0?
Soluzione
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;
Per una risoluzione fissa (1024x768 nel mio caso per iPad) ho usato questa matrice e tutto funziona come fascino :) Ecco la descrizione completa quali valori è necessario mettere nella vostra matrice: glOrtho.html
Altri suggerimenti
Il pagina manuale glOrtho()
descrive le operazioni equivalenti , così finché si dispone la matrice a portata di mano dovrebbe essere in grado ri-attuazione.