/** * Main Programme */ int main(int argc, char** argv) { glutInit(&argc, argv); //framebuffer setup glutInitDisplayMode( GLUT_DOUBLE | GLUT_RGBA | GLUT_DEPTH ); // positioning and size of window glutInitWindowPosition(200, 100); glutInitWindowSize(WindowSize_X,WindowSize_Y); glutCreateWindow(argv[0]); //initialize viewpoint glMatrixMode(GL_MODELVIEW); glLoadIdentity(); glTranslatef(0,0,-4); tbInitTransform(); // This is for the trackball, please ignore tbHelp(); // idem MyCameraPosition=getCameraPosition(); //activate the light following the camera glEnable( GL_LIGHTING ); glEnable( GL_LIGHT0 ); glEnable(GL_COLOR_MATERIAL); int LightPos[4] = {0,0,2,0}; int MatSpec [4] = {1,1,1,1}; glLightiv(GL_LIGHT0,GL_POSITION,LightPos); //normals will be normalized in the graphics pipeline glEnable(GL_NORMALIZE); //clear color of the background is black. glClearColor (0.0, 0.0, 0.0, 0.0); // Activate rendering modes //activate depth test glEnable( GL_DEPTH_TEST ); //draw front-facing triangles filled //and back-facing triangles as wires glPolygonMode(GL_FRONT,GL_FILL); glPolygonMode(GL_BACK,GL_LINE); //interpolate vertex colors over the triangles glShadeModel(GL_SMOOTH); // glut setup... to ignore glutReshapeFunc(reshape); glutKeyboardFunc(keyboard); glutDisplayFunc(display); glutMouseFunc(tbMouseFunc); // trackball glutMotionFunc(tbMotionFunc); // uses mouse glutIdleFunc( animate); init(); //main loop for glut... this just runs your application glutMainLoop(); return 0; // execution never reaches this point }
int main(int argc, char** argv) { glutInit(&argc, argv); // couches du framebuffer utilisees par l'application glutInitDisplayMode( GLUT_DOUBLE | GLUT_RGBA | GLUT_DEPTH ); // position et taille de la fenetre glutInitWindowPosition(20, 80); glutInitWindowSize(W_fen,H_fen); glutCreateWindow(argv[0]); // Windows only exposes OpenGL 1.1 functions. // To call more modern functions, we need to load GLEW. #if defined(_WIN32) GLenum err = glewInit(); (GLEW_OK != err) ? printf("GLEW init failed!\n") : printf("GLEW init complete\n"); #endif init( ); // Initialize viewpoint glMatrixMode(GL_MODELVIEW); glLoadIdentity(); glTranslatef(0,0,-4); tbInitTransform(); tbHelp(); // cablage des callback glutReshapeFunc(reshape); glutIgnoreKeyRepeat(1); glutKeyboardFunc(keyboard); //call *once* on keydown glutKeyboardUpFunc(keyboardUp); glutDisplayFunc(displayInternal); glutMouseFunc(mouse); glutMotionFunc(mouseMotion); // traqueboule utilise la souris glutPassiveMotionFunc(mousePassiveMotion); glutIdleFunc(animate); glutTimerFunc(firstEnemySpawnDelay, spawnEnemy, 0); glutTimerFunc(bossSpawnDelay, spawnBoss, 0); // lancement de la boucle principale glutMainLoop(); return 0; // instruction jamais exécutée }
/** * Programme principal */ int main(int argc, char** argv) { glutInit(&argc, argv); // couches du framebuffer utilisees par l'application glutInitDisplayMode( GLUT_DOUBLE | GLUT_RGBA | GLUT_DEPTH ); // position et taille de la fenetre glutInitWindowPosition(200, 100); glutInitWindowSize(config.viewportSize_X, config.viewportSize_Y); glutCreateWindow(argv[0]); // Initialisation du point de vue glMatrixMode(GL_MODELVIEW); glLoadIdentity(); glTranslatef(0,0,-4); tbInitTransform(); // initialisation du point de vue tbHelp(); // affiche l'aide sur la traqueboule MyCameraPosition=getCameraPosition(); // // Active la lumière // Pour la partie // ECLAIRAGE glEnable( GL_LIGHTING ); glEnable( GL_LIGHT0 ); glEnable(GL_COLOR_MATERIAL); int LightPos[4] = {0,0,3,1}; int MatSpec [4] = {1,1,1,1}; glLightiv(GL_LIGHT0,GL_POSITION,LightPos); //glMaterialiv(GL_FRONT_AND_BACK,GL_SPECULAR,MatSpec); //glMateriali(GL_FRONT_AND_BACK,GL_SHININESS,10); glEnable(GL_NORMALIZE); glClearColor (0.0, 0.0, 0.0, 0.0); // Details sur le mode de tracé glEnable( GL_DEPTH_TEST ); // effectuer le test de profondeur //glEnable(GL_CULL_FACE); //glCullFace(GL_BACK); glPolygonMode(GL_FRONT,GL_FILL); glPolygonMode(GL_BACK,GL_LINE); glShadeModel(GL_SMOOTH); // cablage des callback glutReshapeFunc(reshape); glutKeyboardFunc(keyboard); glutDisplayFunc(display); glutMouseFunc(tbMouseFunc); // traqueboule utilise la souris glutMotionFunc(tbMotionFunc); // traqueboule utilise la souris glutIdleFunc( animate); init(); //imidiate render // lancement de la boucle principale glutMainLoop(); return 0; // instruction jamais exécutée }