Bonjour tout le monde,

Je suis débutant en openGL et je suis en train d'apprendre les textures via le site suivant: "http://nehe.gamedev.net/data/lessons/lesson.asp?lesson=06"

Malheureusement, j'ai du mal à y comprendre le code.

Entre temps j'ai trouvé un autre site en français qui donne le code suivant :


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
24
25
26
27
28
29
30
 
 GLubyte Texture[16] =
{
0,0,0,0, 0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF, 0,0,0,0
};
 //Image (2x2) 
GLuint Nom; 
 
void InitGL() 
{  
 glClearColor(.5,.5,.5,0); //Change la couleur du fond 
glEnable(GL_DEPTH_TEST); //Active le depth test 
glEnable(GL_TEXTURE_2D); //Active le texturing 
glGenTextures(1,&Nom); //Génère un n° de texture 
glBindTexture(GL_TEXTURE_2D,Nom); //Sélectionne ce n° 
glTexImage2D ( 
 GL_TEXTURE_2D, //Type : texture 2D 
0, //Mipmap : aucun 
4, //Couleurs : 4 
2, //Largeur : 2 
2, //Hauteur : 2 
0, //Largeur du bord : 0 
GL_RGBA, //Format : RGBA 
GL_UNSIGNED_BYTE, //Type des couleurs 
Texture  //Addresse de l'image 
);  
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST); 
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST); 
}

Cette partie est bien détaillée alors je comprends assez bien à part peut être le GLubyte Texture[16] et ce qu'il renvoie.
Après, on applique la texture à un objet 3D comme tel :

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
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
 
 
void Draw() 
{  
 glClear( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT ); //Efface le framebuffer et le depthbuffer 
glMatrixMode(GL_MODELVIEW); //Un petit gluLookAt()... 
glLoadIdentity(); 
gluLookAt(3,2,3,0,0,0,0,1,0); 
glBegin(GL_QUADS); //Et c'est parti pour le cube ! 
glTexCoord2i(0,0);glVertex3i(-1,-1,-1);
glTexCoord2i(1,0);glVertex3i(+1,-1,-1);
glTexCoord2i(1,1);glVertex3i(+1,+1,-1); 
glTexCoord2i(0,1);glVertex3i(-1,+1,-1);
 //1 face 
glTexCoord2i(0,0);glVertex3i(-1,-1,+1);
glTexCoord2i(1,0);glVertex3i(+1,-1,+1); 
glTexCoord2i(1,1);glVertex3i(+1,+1,+1); 
glTexCoord2i(0,1);glVertex3i(-1,+1,+1); 
 //2 faces 
glTexCoord2i(0,0);glVertex3i(+1,-1,-1); 
glTexCoord2i(1,0);glVertex3i(+1,-1,+1);
glTexCoord2i(1,1);glVertex3i(+1,+1,+1);
glTexCoord2i(0,1);glVertex3i(+1,+1,-1);
 //3 faces 
glTexCoord2i(0,0);glVertex3i(-1,-1,-1); 
glTexCoord2i(1,0);glVertex3i(-1,-1,+1); 
glTexCoord2i(1,1);glVertex3i(-1,+1,+1);
glTexCoord2i(0,1);glVertex3i(-1,+1,-1); 
 //4 faces 
glTexCoord2i(1,0);glVertex3i(-1,+1,-1); 
glTexCoord2i(1,1);glVertex3i(+1,+1,-1); 
glTexCoord2i(0,1);glVertex3i(+1,+1,+1);
glTexCoord2i(0,0);glVertex3i(-1,+1,+1);
 //5 faces 
glTexCoord2i(1,0);glVertex3i(-1,-1,+1); 
glTexCoord2i(1,1);glVertex3i(+1,-1,+1);
glTexCoord2i(0,1);glVertex3i(+1,-1,-1);
glTexCoord2i(0,0);glVertex3i(-1,-1,-1);
 //6 faces 
glEnd();  
SwapBuffers(DC); //glutSwapBuffers(); pour GLUT 
glutPostRedisplay(); //Uniquement pour GLUT


Ici, je ne comprends pas le gluLookAt et ses paramètres.

Et puis, ici, la personne créée elle-même son image en échéquier. Comment faire pour importer une image sur mon ordinateur à la place ? et faut-il l'importer en chemin absolu ?

Merci d'avance pour votre aide !