#include #include #include using namespace std; double WIDTH = 400, HEIGHT = 400; double HMIN = -WIDTH/2, HMAX = WIDTH/2, KMIN = -HEIGHT/2, KMAX = HEIGHT/2; void display() { glBegin(GL_QUADS); glColor3f(1, 1, 1); glVertex3f(0, 10, 0); glColor3f(10, 10, 0); glVertex3f(10, 0, 0); glVertex3f(0, 1, 0); glEnd(); } glPostRedisplay(); glutSwapBuffers(); } void keyboard(unsigned char key, int x, int y) { } void special(unsigned char key, int x, int y) { if(key==GLUT_KEY_RIGHT) { glutTranslate(10,0,0); } if(key==GLUT_KEY_LEFT) { glutTranslate(-10,0,0); } if(key==GLUT_KEY_UP) { glutTranslate(0,10,0); } if(key==GLUT_KEY_DOWN) { glutTranslate(0,-10,0); } } int main(int argc, char** argv) { glutInit(&argc, argv); glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGB); glutInitWindowSize(WIDTH, HEIGHT); glutInitWindowPosition(100, 100); glutCreateWindow("Keyboard Input"); glClearColor(0, 0, 0, 0); glColor3f(1, 1, 1); glMatrixMode(GL_MODELVIEW); glOrtho(HMIN, HMAX, KMIN, KMAX, -1, 1); glClear(GL_COLOR_BUFFER_BIT); glutKeyboardFunc(keyboard); glutSpecialFunc(special); glutDisplayFunc(display); glutMainLoop(); return 0; }