/* Auteur: Nicolas JANEY */ /* nicolas.janey@univ-fcomte.fr */ /* Avril 2001 */ /* Verification du placement des cones */ /* en OpenGL + GLUt */ #include #include #include #include #include #include #include "ModuleManipulateur.h" #include "ModuleCouleurs.h" #include "ModuleMenus.h" #include "ModuleReshape.h" static float h = 0.5F ; void display(void) { glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT); glPushMatrix(); manipulateurSouris(); manipulateurClavier(); glutWireSphere(0.1,20,20); glutWireCone(1.0,h,15,10); glPopMatrix(); glFlush(); glutSwapBuffers(); } void myinit (void) { glClearColor(0.5F,0.5F,0.5F,0.0F); glColor4fv(couleurBlanc()); glShadeModel(GL_SMOOTH); glEnable(GL_DEPTH_TEST); } void key(unsigned char key,int x,int y) { if ( keyManipulateur(key,x,y) ) glutPostRedisplay(); else switch ( key ) { case 45 : h -= 0.1f ; glutPostRedisplay(); break; case 43 : h += 0.1f ; glutPostRedisplay(); break; } } int main(int argc,char **argv) { glutInit(&argc,argv); glutInitDisplayMode(GLUT_RGBA|GLUT_DEPTH|GLUT_DOUBLE|GLUT_ACCUM); glutInitWindowSize(300,300); glutInitWindowPosition(50,50); glutCreateWindow("Placement cone sous GLUt"); myinit(); creationMenuBasique(); setParametresOrthoBasique(-1.5F,1.5F,-1.5F,1.5F,-3.0F,3.0F); setManipulateurDistance(1.0F); glutReshapeFunc(reshapeOrthoBasique); glutKeyboardFunc(key); glutSpecialFunc(specialBasique); glutMotionFunc(motionBasique); glutMouseFunc(sourisBasique); glutDisplayFunc(display); glutMainLoop(); return(0); }