OpenGL ES 2.0 équivalent de glOrtho ()?
-
27-09-2019 - |
Question
Dans mon iPhone, je dois projeter scène 3D dans les coordonnées 2D de l'écran pour certains calculs. Mes objets passent par différentes rotations, traductions et mise à l'échelle. Donc, je me suis dit que je dois multiplier les sommets avec la matrice MODELVIEW d'abord, je dois multiplier avec la matrice de projection orthogonale.
D'abord h sur la bonne voie?
Je le Model View Matrix, mais besoin de la matrice de projection. Y at-il un équivalent dans ES 2.0 glOrtho ()?
La 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;
Pour une résolution fixe (1024x768 dans mon cas pour l'iPad) J'ai utilisé cette matrice et tout fonctionne comme un charme :) Voici la description complète ce que vous avez besoin de mettre les valeurs que dans votre matrice: glOrtho.html
Autres conseils
Le page de manuel glOrtho()
décrit les opérations équivalentes donc, tant que vous avez la matrice pratique devrait pouvoir re-mettre en œuvre.