Bonjour,

Je travaille aujourd'hui avec une caméra très lente (1 image par seconde).

Pour réaliser l'affichage de ce qui sort de la caméra, je passe par glDrawPixels et du double buffering.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
glMatrixMode(GL_MODELVIEW);
glClearColor(0, 0, 0, 0);
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glLoadIdentity();
glOrtho(0, 1, 0, 1, 0, 1);
glDrawPixels(width, height, GL_LUMINANCE, GL_UNSIGNED_SHORT, pBuffer);
SwapBuffers(GetDC(hdc));
Tout ce passe bien, chaque seconde, mon image est affichée.

Cela dit, quand je cherche à redimensionner mes fenêtres d'affichage, l'image est effacée (normal) et il faut attendre l'image suivante pour revenir à la normale (ce qui se voit pas mal à cette cadence).

Donc : est il possible de demander à openGL de réafficher le buffer courant ?

L'idée est de ne travailler avec le buffer pBuffer seulement quand on récupère une image et de ne pas le trimballer ailleurs.

Je développe avec borland 5 et l'affichage OpenGL est réalisé dans un objet TPanel.

Merci d'avance