/* Main Loop * Open window with initial window size, title bar, * RGBA display mode, depth buffer, and handle input events. */ int mainFog(int argc, char** argv) { glutInit(&argc, argv); glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB | GLUT_DEPTH); glutInitWindowSize(500, 500); glutCreateWindow(argv[0]); initFog(); glutReshapeFunc(reshapeFog); glutKeyboardFunc(keyboardFog); glutDisplayFunc(displayFog); glutMainLoop(); return 0; }
void init(void){ initFog(); // glClearColor(1, 1, 1, 0); glColor3f(1, 1, 1); glMatrixMode(GL_PROJECTION); glLoadIdentity(); glEnable(GL_COLOR_MATERIAL); glEnable(GL_LIGHTING); glLightfv(GL_LIGHT0, GL_POSITION, lightpos); // glLightfv(GL_LIGHT0, GL_SPOT_DIRECTION, lightDir); glLightfv(GL_LIGHT1, GL_POSITION, lightpos1); // glLightfv(GL_LIGHT1, GL_SPOT_DIRECTION, lightDir); glLightfv(GL_LIGHT1, GL_DIFFUSE, lightDif); glLightfv(GL_LIGHT1, GL_SPECULAR, lightSpec); glLightfv(GL_LIGHT2, GL_POSITION, lightpos2); // glLightfv(GL_LIGHT1, GL_SPOT_DIRECTION, lightDir); glLightfv(GL_LIGHT2, GL_DIFFUSE, lightDif); glLightfv(GL_LIGHT2, GL_SPECULAR, lightSpec); glEnable(GL_LIGHT0); glEnable(GL_LIGHT1); // glEnable(GL_LIGHT2); gluPerspective(45, 1, 1, 100); glEnable(GL_TEXTURE_2D); // enable texture mapping glShadeModel(GL_SMOOTH); // enable smooth shading // glClearColor(0.0f, 0.0f, 0.0f, 1.0f); // black background glClearDepth(1.0f); // depth buffer setup glDepthFunc(GL_LEQUAL); // configure depth testing glHint(GL_PERSPECTIVE_CORRECTION_HINT, GL_NICEST); // really nice perspective calculations }
void initGLEnv(Bool doFog) { GLfloat spc[4] = {1.0, 1.0, 1.0, 1.0}; glClearColor(0.0, 0.0, 0.0, 0.0); glClearDepth(1.0); glDepthFunc(GL_LESS); glEnable(GL_COLOR_MATERIAL); glMateriali(GL_FRONT, GL_SHININESS, 128); glMaterialfv(GL_FRONT, GL_SPECULAR, spc); glMaterialfv(GL_FRONT, GL_AMBIENT_AND_DIFFUSE, spc); glEnable(GL_NORMALIZE); glEnable(GL_DEPTH_TEST); glShadeModel(GL_SMOOTH); glEnable(GL_CULL_FACE); initLights(); if (doFog) initFog(); Quadratic = gluNewQuadric(); }