1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53
|
void affImage()
{
glClear(GL_COLOR_BUFFER_BIT) ;
/* positionnement de l'origine pour glDrawPixels */
glRasterPos2i(0, 0);
/* trace de l'image */
glDrawPixels(imgOrigine.largeur, imgOrigine.hauteur, GL_LUMINANCE, GL_UNSIGNED_BYTE, imgOrigine.buffer);
glutSwapBuffers();
/* affichage d'1 petit triangle */
glColor3f(1.0, 0,0);
glBegin(GL_TRIANGLES);
glVertex2i(imgOrigine.largeur+10, imgOrigine.hauteur/2-10);
glVertex2i(imgOrigine.largeur+10, imgOrigine.hauteur/2+10);
glVertex2i(imgOrigine.largeur+20, imgOrigine.hauteur/2);
glEnd();
/* positionnement de l'origine pour glDrawPixels */
glRasterPos2i(imgOrigine.largeur+30, 0);
/* trace de l'image */
glDrawPixels(imgFin.largeur, imgFin.hauteur, GL_LUMINANCE, GL_UNSIGNED_BYTE, imgFin.buffer);
glutSwapBuffers();
}
void monCadrage(int l, int h)
{
glViewport(0,0,l,h); // cadre d'affichage dans la fenetre
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
gluOrtho2D(0.0,l, 0.0,h);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
}
void clavier(unsigned char touche, int x, int y)
{
switch (touche)
{
case 27 :
case 'q' :
case 'Q' : exit(0);
break ;
default: affiche_Menu_Principal();
}
}
void initGL()
{
glPixelStorei(GL_UNPACK_ALIGNMENT,1);
} |
Partager