juldjin | Bonjour, je fait un programme qui nessecite le traitement brut de l'image rendue par OpenGL.
J'ai donc une fonction qui va dessiner dans mon Back buffer mes objets Opengl, puis je récupère ce Back buffer pour le traiter. Enfin après avoir modifier ce que je voulais je réinjecte le buffer traité dans mon Back Buffer et je Swap.
La récupération du buffer se passe sans probleme avec glReadPixels (j'ai affiché mon image ailleurs, il n'y a aucun souci), cependant la restitution avec glDrawPixels me donne une image hyper sombre. Et je comprends vraiment pas pourquoi..
Voila mon code :
Code :
- DrawGLScene(); // Dessin des objets
- if(ProcessFunc != NULL)
- {
- glReadBuffer(GL_BACK);
- glReadPixels(0,0,buffWidth,buffHeight,GL_RGB,GL_UNSIGNED_BYTE,buffer);
- ProcessFunc(buffer);
- glDrawBuffer(GL_BACK);
- glPixelStorei(GL_UNPACK_ALIGNMENT, 1);
- glDrawPixels(buffWidth,buffHeight,GL_RGB,GL_UNSIGNED_BYTE,buffer);
- }
- SwapBuffers(hDC);
|
Quelqu'un a une idée ? |