Bonjour à tous, depuis l'année derniere, j'ai pris l'habitude de programmer sous unix en c et avec Glut pour faire de l'openGL. Aujourd'hui, j'approche de mon entrée sur le monde du travail et je me suis donc mis a la prog sous environement windows. Pour cela je me suis mis au C++ et pour utiliser OpenGL dans de belles fenetres, a Win32 (surtout parce que mon futur employeur travail avec sa aussi ^^)
Bon j'ai reussi a crée une fenetre et a faire un petit truc openGL, J'ai donc voulu passer à l'etape d'apres c'est à dire affichage d'une image PGM chargée par mes soins, mais la sa bloque, l'image s'affiche mais déformée.
Je vous join tout mes sources car sa serait trop long à expliquer en détail mon code.
Comme vous pourrez le voir dans main.cpp, à la ligne 86, j'ai le code:
image = new imagePGM ("lena.pgm");
En remplacant lena.pgm par votre fichier vosu pouvez mettre ce que vous voulez (j'ai pas encore fait un truc bien développé pour choisir le fichier un fois le programme lancé mais la n'est pas le probleme ^^
Donc pour en revenir a mon probleme d'image, sous Glut j'avais eu un probleme similaire, sa venait de la facon dont les pixel etait affichée par pack, j'ai donc ecrit:
1 2 3 4 5 6 7 8 9 10 11
| void Display (void)
{
glClear (GL_COLOR_BUFFER_BIT);
glPushMatrix ();
glRasterPos2i (0, 0);
glPixelStorei (GL_UNPACK_ALIGNMENT, 1);
glDrawPixels (image->getWidth (), image->getHeight (), GL_LUMINANCE, GL_UNSIGNED_BYTE, image->dataGL);
glPopMatrix ();
SwapBuffers(fenetreGL->getHDC ());
glFlush ();
} |
Malheureusement ici,
glPixelStorei (GL_UNPACK_ALIGNMENT, 1);
n'a rien changé et sa me fait toujours le meme probleme.
Si quelqu'un à une idée de ce qui cloche, sa serait sympat d'eclairer ma lanterne.
Merci par avance ^^
Partager