Bonjour,

Avec Opengl ES, en utilisant une matrice de projection et de view, on obtient des formes aux bonnes proportions à l'affichage.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
 
      @Override
        public void onSurfaceChanged(GL10 glUnused, int width_, int height_) {
 
            width = width_;
            height = height_;
            float ratio = width / height;
            final float left = -ratio ;
            final float right = ratio ;
            final float bottom = -1.0f;
            final float top = 1.0f;
            final float near = 1.0f;
            final float far = 10.0f;
 
            GLES20.glViewport(0, 0, width_, height_);
            Matrix.frustumM(mProjectionMatrix, 0, left, right, bottom, top, near, far);
 
 
        }
Cependant, l'unité originel est modifiée : avant la projection, la largeur comme la longueur de l'écran valait 1f ( impliquant une forme tirée ).

Savez vous comment obtenir les bonnes valeurs de largeur et longueur de l'écran après cette projection ?

Merci si vous pouvez m'aider.