/// /////////////////////////////////////////////////////////////////////////// /// fonction associée aux interruptions clavier /// - c : caractère saisi /// - x,y : coordonnée du curseur dans la fenêtre void kbdFunc(unsigned char c, int , int ) { switch(c) { case 27: // quit exit(0); break; case '1': // print case '2': // print case '3': // print case '4': // print case '5': // print which_test = (int)(c-'0'); std::cerr<<"Fixe test sur "<<which_test<<std::endl; break; case 'i': // print print(); break; case '<': // aide help((char*)"./aSimpleGLSLProg"); break; case 'o': // sepiaColor[0] -= 0.05; std::cerr<<"Sepia red : "<<sepiaColor[0]<<std::endl; break; case 'p': // sepiaColor[0] += 0.05; std::cerr<<"Sepia red : "<<sepiaColor[0]<<std::endl; break; case 'l': // sepiaColor[1] -= 0.05; std::cerr<<"Sepia green : "<<sepiaColor[1]<<std::endl; break; case 'm': // sepiaColor[1] += 0.05; std::cerr<<"Sepia green : "<<sepiaColor[1]<<std::endl; break; case 'x': // GPU On / Off cerr<<"Switch GPU "; flag_shaders = !flag_shaders; if (flag_shaders) cout<<" ON"<<endl; else cout<<" OFF"<<endl; break; case 't': // FPS computation On / Off cerr<<"Switch idle compute "<<!flag_test<<endl; flag_test = !flag_test; break; case 's': // Print image saveFromGL(width_ecran,height_ecran,"./essai.ppm"); break; case ' ': // DO NOTHING... break; default : cerr<<"Touche non fonctionnelle"<<endl; } glutPostRedisplay(); }
/// /////////////////////////////////////////////////////////////////////////// /// fonction associée aux interruptions clavier /// - c : caractère saisi /// - x,y : coordonnée du curseur dans la fenêtre void kbdFunc(unsigned char c, int , int ) { switch(c) { case 27: // quit exit(0); break; case '1': // print case '2': // print case '3': // print case '4': // print case '5': // print case '8': case '9': which_test = (int)(c-'0'); std::cerr<<"Fixe test sur "<<which_test<<std::endl; break; case 'i': // print print(); break; case '<': // aide help((char*)"./aSimpleGLSLProg"); break; case 'x': // GPU On / Off cerr<<"Switch GPU "; flag_shaders = !flag_shaders; if (flag_shaders) cout<<" ON"<<endl; else cout<<" OFF"<<endl; break; case 'f': // FPS computation On / Off cerr<<"Switch Test FPS compute "<<!flag_test<<endl; instantPrec = glutGet(GLUT_ELAPSED_TIME); flag_test = !flag_test; break; case 't': // Timer On / Off flag_timer = !flag_timer; cerr<<"Switch Timer "<<!flag_test<<endl; if (flag_shaders) cout<<" ON"<<endl; else cout<<" OFF"<<endl; break; case 's': // Print image saveFromGL(width_ecran,height_ecran,"./essai.ppm"); break; case 'o': // Improve red of sepiaColor sepiaColor[0] += 0.1; break; case 'p': // Decrease red of sepiaColor sepiaColor[0] -= 0.1; break; case 'l': // Improve green of sepiaColor sepiaColor[1] += 0.1; break; case 'm': // Decrease green of sepiaColor sepiaColor[1] -= 0.1; break; case ' ': // DO NOTHING... break; default : cerr<<"Touche non fonctionnelle"<<endl; } glutPostRedisplay(); }