Je dois appliquer tout bêtement une texture sur une surface carrée. J'ai récupérée des sources qui me montrent comment faire. Je programme en java avec JOGL.

Cependant, sans comprendre pourquoi, pour que l'image s'affiche à l'endroit sur mon ordinateur, je dois changer les coordonnées des glTexCoords, comme si je n'avais pas les mêmes axes que tout le monde.

Voici le code que je croyais bon :

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
20
21
22
gl.glPushMatrix();
gl.glEnable(gl.GL_TEXTURE_2D);
gl.glBindTexture(gl.GL_TEXTURE_2D, texturePlateau);
 
gl.glBegin(gl.GL_QUADS);
 
gl.glTexCoord2f(0.0f, 0.0f);
gl.glVertex3f(0.0f, 0.0f, 0.1f);
 
gl.glTexCoord2f(1.0f, 0.0f);
gl.glVertex3f(1.0f, 0.0f, 0.1f);
 
gl.glTexCoord2f(1.0f, 1.0f);
gl.glVertex3f(1.0f, 1.0f, 0.3f);
 
gl.glTexCoord2f(0.0f, 1.0f);
gl.glVertex3f(0.0f, 1.0f, 0.1f);
 
gl.glEnd();
 
gl.glDisable(gl.GL_TEXTURE_2D);
gl.glPopMatrix();
Si je fais cela, mon image est à l'envers... Voici le code que j'ai du mettre pour avoir un affichage correct :

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
20
21
22
23
 
        gl.glPushMatrix();
        gl.glEnable(gl.GL_TEXTURE_2D);
        gl.glBindTexture(gl.GL_TEXTURE_2D, texturePlateau);
 
        gl.glBegin(gl.GL_QUADS);
 
        gl.glTexCoord2f(0.0f, 1.0f);
        gl.glVertex3f(0.0f, 0.0f, 0.1f);
 
        gl.glTexCoord2f(1.0f, 1.0f);
        gl.glVertex3f(1.0f, 0.0f, 0.1f);
 
        gl.glTexCoord2f(1.0f, 0.0f);
        gl.glVertex3f(1.0f, 1.0f, 0.3f);
 
        gl.glTexCoord2f(0.0f, 0.0f);
        gl.glVertex3f(0.0f, 1.0f, 0.1f);
 
        gl.glEnd();
 
        gl.glDisable(gl.GL_TEXTURE_2D);
        gl.glPopMatrix();
Il n'y a pas de glRotate avant ce bout de code. Mon image n'est pas enregistrée à l'envers sur le disque dur. Quelqu'un sait-il d'où vient mon problème ?

Merci