void myInit(char *progname) { int width = 600, height = 600; float aspect = (float)width / (float)height; glutInitWindowPosition(0, 0); glutInitWindowSize(width, height); glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGBA | GLUT_DEPTH); glutCreateWindow(progname); glClearColor(0.8, 1.0, 1.0, 1.0); glutKeyboardFunc(myKbd); glutSpecialFunc(mySkey); glutMouseFunc(myMouse); glutMotionFunc(myMotion); resetview(); //„Éì„É•„ɺ„ÅÆÂàùÊúüÂå? glMatrixMode(GL_PROJECTION); glLoadIdentity(); gluPerspective(30.0, aspect, 1.0, 30.0); glMatrixMode(GL_MODELVIEW); initLighting(); }
void myInit (char *progname) { int width = 500, height = 500; glutInitWindowPosition(0, 0); glutInitWindowSize( width, height ); glutInitDisplayMode( GLUT_RGBA | GLUT_DEPTH | GLUT_DOUBLE); glutCreateWindow(progname); glClearColor (0., 0., 0., 1.); glutKeyboardFunc(myKbd); resetview(); initLighting(); }
void myKbd(unsigned char key, int x, int y) { int i; switch (key) { case '1': camera(1); break; case '2': camera(2); break; case '3': camera(3); break; case '4': camera(4); break; case '5': camera(5); break; case '6': camera(6); break; case '7': camera(7); break; /* w„Ç≠„ɺ„ÅßÈ¢®„ÅÆON/OFFÂàÅEÇäÊõø„Å? */ case 'w': windFlag = !windFlag; break; /* R„Ç≠„ɺ„Åß„Éì„É•„ɺ„ÅÆ„É™„Ǫ„ÉÅEÉà */ case 'R': resetview(); break; /* r„Ç≠„ɺ„ÅßÈõ®„ÅÆON/OFFÂàÅEÇäÊõø„Å? */ case 'r': cloudFlag = GL_TRUE; if (rainFlag2 == GL_TRUE && maxrain >= 10){ cloudFlag = GL_FALSE; rainFlag2 = GL_FALSE; } break; case 't': thunderFlag = GL_TRUE; break; case 'f': fallFlag = GL_TRUE; break; case 'a': if (cloudmovingFlag == GL_FALSE) alphaFlag = !alphaFlag; break; case 'g': if (grow<5) { ++grow; t = 0.001; } if (grow>2 && growleaves<4){ ++growleaves; t2 = 0.001; } if (grow>1 && growdisks<4){ ++growdisks; t3 = 0.001; } for (i = 0; i<3; ++i) { diffuse4[i] = 0.8*diffuse4[i] + 0.2*diffuse5[i]; specular4[i] = 0.8*specular4[i] + 0.2*specular5[i]; ambient4[i] = 0.8*ambient4[i] + 0.2*ambient5[i]; } break; /* ESC„Ç≠„ɺ„Åß„Éó„É≠„Ç∞„É©„Ɇ„ÅÆÁµÇ‰∫? */ case KEY_ESC: exit(0); } }