Je debug mon application et je me demande si la texture que j'upload à la carte graphique est bien la bonne. Pour cela j'utilise glGetTexImage() mais je n'obtiens pas de bons résultats. Alors j'ai crée un exemple pour voir si j'avais compris comment on se servait de la fonction.
J'obtiens ce retour :
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 GLubyte texture[16] = { 0,0,0,0, 0xFF,0xFF,0xFF,0xFF, 0xFF,0xFF,0xFF,0xFF, 0,0,0,0 }; GLuint nom; glGenTextures(1, &nom); glBindTexture(GL_TEXTURE_2D, nom); glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, 2, 2, 0, GL_RGBA, GL_UNSIGNED_BYTE, texture); GLubyte texture2[16] = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}; glGetTexImage(nom, 0, GL_RGBA, GL_UNSIGNED_BYTE, texture2); for(int i=0; i<16; i++) { cout << (int)texture[i] << " " << (int)texture2[i] << endl; }
Donc à gauche "texture" et a droite "texture2". Rien n'est inscrit dans "texture2" Ai-je mal compris glGetTexImage()? Il y a t'il une autre fonction pour recup une texture?
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 0 0 0 0 0 0 0 0 255 0 255 0 255 0 255 0 255 0 255 0 255 0 255 0 0 0 0 0 0 0 0 0
Partager