Voilà le bout de code qui a l'air de poser problème (je suis dans un programme API Windows et le code est écrit dans la boucle de message de la fonction WinMain):
Les fonctionnalités de l'OpenGL sont initialisées dans la fonction EnableOpenGL et glEnable(GL_TEXTURE_2D) a été activé.
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 glClearColor(0.0f, 0.0f, 0.0f, 0.0f); glClear(GL_COLOR_BUFFER_BIT); **Chargement de l'image comme texture** glPushMatrix(); glBegin(GL_QUADS); glTexCoord2f(0.0, 1.0); glVertex2f(-1.0+coeffLargeur, -1.0+coeffHauteur); glTexCoord2f(0.0, 0.0); glVertex2f(-1.0+coeffLargeur, 1.0-coeffHauteur); glTexCoord2f(1.0, 0.0); glVertex2f(1.0-coeffLargeur, 1.0-coeffHauteur); glTexCoord2f(1.0, 1.0); glVertex2f(1.0-coeffLargeur, -1.0+coeffHauteur); glEnd(); glPopMatrix(); glFlush(); SwapBuffers(hDC);
Je remarque que sur certains PC, l'affichage n'est pas fait, ,et j'observe un cadre blanc correspondant à la taille de l'image que je veux afficher sur le fond noir de la fenêtre OpenGL.
L'image est bien chargée en mémoire, car elle est affichée selon l'ordinateur sur lequel on se trouve et je peux récupérer les dimensions de l'image pour les afficher dans la barre de titre de ma fenêtre.
Partager