#include // pour MacOSX #include // pour MacOSX #include // pour MacOSX // #include "glut.h" // pour PC /* Compilation sur MacOSX : gcc -framework OpenGL -framework GLUT -framework Cocoa -o carre carre.c Compilation sur PC : gcc carre.c -o carre -L/usr/X11R6/include/GL -L/usr/X11R6/lib -lGL -lGLU -lglut -lm -lX11 22/04/04 - Didier STRAUS - Info. graphique - Carre en OpenGL http://www.Software-DS.com */ /* prototypes */ void affichage(); void clavier(unsigned char touche,int x,int y); /* main */ int main(int argc,char **argv) { glutInit(&argc,argv); glutInitDisplayMode(GLUT_RGB); glutInitWindowPosition(200,200); glutInitWindowSize(500,500); glutCreateWindow("Open GL - DS"); glClearColor(0,0,0,0); glColor3f(1,1,1); glPointSize(2); glutDisplayFunc(affichage); glutKeyboardFunc(clavier); glutMainLoop(); return 0; } /* main */ /* ********************************************************* */ void affichage() { glClear(GL_COLOR_BUFFER_BIT); // dessin glBegin(GL_POLYGON); glColor3f(1,0,0); glVertex2f(-0.5,-0.5); glColor3f(0,1,0); glVertex2f(0.5,-0.5); glColor3f(0,0,1); glVertex2f(0.5,0.5); glColor3f(1,1,1); glVertex2f(-0.5,0.5); glEnd(); glFlush(); } /* affichage */ /* ********************************************************* */ void clavier(unsigned char touche,int x,int y) { switch(touche) { case 'p': glPolygonMode(GL_FRONT_AND_BACK,GL_FILL); glutPostRedisplay(); break; case 'f': glPolygonMode(GL_FRONT_AND_BACK,GL_LINE); glutPostRedisplay(); break; case 's': glPolygonMode(GL_FRONT_AND_BACK,GL_POINT); glutPostRedisplay(); break; case 'q': exit(0); } } /* clavier */