void keyScene(unsigned char key,int x,int y) { pMaterial pm; pTetra ptt; pHexa ph; pTriangle pt; pQuad pq; pScene sc,sc1; pMesh mesh; pClip clip; pCube cube; pPersp p; pCamera cam; double dd; float a,b,c,d; int k,keyact,numit,idw = currentScene(); ubyte post = FALSE,dolist = FALSE; if ( idw < 0 ) exit(0); /* ESC = end medit */ if ( key == 'q' || key == 27 ) #ifdef IGL { deleteScene(cv.scene[idw]); exit(0); } #else exit(0); #endif else if ( key == 'h' || key == '?' )
int main (int argc, char **argv) { glutInit(&argc, argv); glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGB | GLUT_DEPTH); glutInitContextVersion(3,3); glutInitContextFlags(GLUT_FORWARD_COMPATIBLE); glutInitContextProfile(GLUT_CORE_PROFILE); glutInitWindowSize (512, 512); glutInitWindowPosition (100, 100); glutCreateWindow("Exercise 03 - More Bunnies!"); glutDisplayFunc(updateGL); glutIdleFunc(idle); glutKeyboardFunc(keyboardEvent); glewExperimental = GL_TRUE; GLenum err = glewInit(); if (GLEW_OK != err) { std::cout << "(glewInit) - Error: " << glewGetErrorString(err) << std::endl; } std::cout << "(glewInit) - Using GLEW " << glewGetString(GLEW_VERSION) << std::endl; // init stuff // initGL(); // init matrix stacks // glm_ProjectionMatrix.push(glm::mat4(2.414214, 0.000000, 0.000000, 0.000000, 0.000000, 2.414214, 0.000000, 0.000000, 0.000000, 0.000000, -1.002002, -1.000000, 0.000000, 0.000000, -0.020020, 0.000000)); glm_ModelViewMatrix.push(glm::mat4(0.707107, -0.408248, 0.577350, 0.000000, 0.000000, 0.816497, 0.577350, 0.000000, -0.707107, -0.408248, 0.577350, 0.000000, 0.000000, 0.000000, -1.732051, 1.000000)); initShader(); initScene(); // start render loop // if (enableShader()) { glutMainLoop(); disableShader(); // clean up allocated data // deleteScene(); deleteShader(); } return 0; }