/* Dackral Phillips CSE 540 Lab #2 Section A This is a 3D model of a Sun machine. The model was taken from the very machine on which I now type.*/ #include #include #include static GLfloat u = 0.0; static GLfloat v = 0.0; void init() { glClearColor(0.0f, 0.0f, 0.0f, 1.0f); glShadeModel(GL_SMOOTH); } void reshape(GLsizei w, GLsizei h) { glViewport(0,0,w,h); glMatrixMode(GL_PROJECTION); glLoadIdentity(); gluPerspective (90.0, (GLdouble)w/(GLdouble)h, 1.0, 500.0); gluLookAt(0.0, 0.0, 40.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0); glMatrixMode(GL_MODELVIEW); glLoadIdentity(); } void display() { glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); glPushMatrix(); glRotatef(u, 1.0, 0.0, 0.0); glRotatef(v, 0.0, 1.0, 0.0); /* Body of a Sun box */ glBegin(GL_QUADS); glColor3f(0.7, 0.7, 0.7); glVertex3f(20.0, -18.0, -10.0); glVertex3f(20.0, -8.0, -10.0); glVertex3f(-20.0, -8.0, -10.0); glVertex3f(-20.0, -18.0, -10.0); glVertex3f(-20.0, -8.0, -10.0); glVertex3f(-20.0, -18.0, -10.0); glVertex3f(-20.0, -18.0, 7.0); glVertex3f(-20.0, -8.0, 7.0); glVertex3f(20.0, -8.0, -10.0); glVertex3f(20.0, -18.0, -10.0); glVertex3f(20.0, -18.0, 7.0); glVertex3f(20.0, -8.0, 7.0); glVertex3f(20.0, -18.0, 7.0); glVertex3f(20.0, -8.0, 7.0); glVertex3f(-20.0, -8.0, 7.0); glVertex3f(-20.0, -18.0, 7.0); glVertex3f(20.0, -8.0, -10.0); glVertex3f(20.0, -8.0, 7.0); glVertex3f(-20.0, -8.0, 7.0); glVertex3f(-20.0, -8.0, -10.0); glVertex3f(20.0, -18.0, -10.0); glVertex3f(20.0, -18.0, 7.0); glVertex3f(-20.0, -18.0, 7.0); glVertex3f(-20.0, -18.0, -10.0); glColor3f(0.7, 0.7, 0.7); glVertex3f(20.0, -14.0, 7.0); glVertex3f(20.0, -8.0, 7.0); glVertex3f(-20.0, -8.0, 7.0); glVertex3f(-20.0, -14.0, 7.0); glVertex3f(-20.0, -8.0, 7.0); glVertex3f(-20.0, -14.0, 7.0); glVertex3f(-20.0, -14.0, 10.0); glVertex3f(-20.0, -8.0, 10.0); glVertex3f(20.0, -8.0, 7.0); glVertex3f(20.0, -14.0, 7.0); glVertex3f(20.0, -14.0, 7.0); glVertex3f(20.0, -8.0, 7.0); glVertex3f(20.0, -14.0, 10.0); glVertex3f(20.0, -8.0, 10.0); glVertex3f(-20.0, -8.0, 10.0); glVertex3f(-20.0, -14.0, 10.0); glVertex3f(20.0, -8.0, 7.0); glVertex3f(20.0, -8.0, 10.0); glVertex3f(-20.0, -8.0, 10.0); glVertex3f(-20.0, -8.0, 7.0); glVertex3f(20.0, -14.0, 7.0); glVertex3f(20.0, -14.0, 10.0); glVertex3f(-20.0, -14.0, 10.0); glVertex3f(-20.0, -14.0, 7.0); glColor3f(0.75, 0.6, 1.0); glVertex3f(20.5, -19.0, 10.0); glVertex3f(20.5, -14.0, 10.0); glVertex3f(16.0, -14.0, 6.0); glVertex3f(16.0, -19.0, 6.0); glVertex3f(20.5, -19.0, 10.0); glVertex3f(20.5, -14.0, 10.0); glVertex3f(20.5, -14.0, 6.0); glVertex3f(20.5, -19.0, 6.0); glVertex3f(16.0, -19.0, 6.0); glVertex3f(16.0, -14.0, 6.0); glVertex3f(20.5, -14.0, 6.0); glVertex3f(20.5, -19.0, 6.0); glVertex3f(-20.5, -19.0, 10.0); glVertex3f(-20.5, -14.0, 10.0); glVertex3f(-16.0, -14.0, 6.0); glVertex3f(-16.0, -19.0, 6.0); glVertex3f(-20.5, -19.0, 10.0); glVertex3f(-20.5, -14.0, 10.0); glVertex3f(-20.5, -14.0, 6.0); glVertex3f(-20.5, -19.0, 6.0); glVertex3f(-16.0, -19.0, 6.0); glVertex3f(-16.0, -14.0, 6.0); glVertex3f(-20.5, -14.0, 6.0); glVertex3f(-20.5, -19.0, 6.0); glEnd(); glBegin(GL_TRIANGLES); glVertex3f(16.0, -14.0, 6.0); glVertex3f(20.5, -14.0, 6.0); glVertex3f(20.5, -14.0, 10.0); glVertex3f(16.0, -19.0, 6.0); glVertex3f(20.5, -19.0, 6.0); glVertex3f(20.5, -19.0, 10.0); glVertex3f(-16.0, -14.0, 6.0); glVertex3f(-20.5, -14.0, 6.0); glVertex3f(-20.5, -14.0, 10.0); glVertex3f(-16.0, -19.0, 6.0); glVertex3f(-20.5, -19.0, 6.0); glVertex3f(-20.5, -19.0, 10.0); glEnd(); /* Draw the Power Switch */ glBegin(GL_QUADS); glColor3f(0.0, 1.0, 0.0); glVertex3f(18.5, -10.25, 10.02); glVertex3f(18.5, -10.0, 10.02); glVertex3f(17.5, -10.0, 10.02); glVertex3f(17.5, -10.25, 10.02); glEnd(); glPushMatrix(); glColor3f(0.7, 0.7, 0.7); glTranslatef(18.0, -12.0, 10.0); glutSolidSphere(0.5, 10.0, 8.0); glPopMatrix(); /* CD Drive */ glBegin(GL_QUADS); glColor3f(0.69, 0.69, 0.69); glVertex3f(16.0, -13.0, 0.0); glVertex3f(16.0, -9.0, 0.0); glVertex3f(3.0, -9.0, 0.0); glVertex3f(3.0, -13.0, 0.0); glVertex3f(16.0, -13.0, 10.01); glVertex3f(16.0, -9.0, 10.01); glVertex3f(3.0, -9.0, 10.01); glVertex3f(3.0, -13.0, 10.01); glVertex3f(3.0, -13.0, 0.0); glVertex3f(3.0, -9.0, 0.0); glVertex3f(3.0, -9.0, 10.01); glVertex3f(3.0, -13.0, 10.01); glVertex3f(16.0, -13.0, 0.0); glVertex3f(16.0, -9.0, 0.0); glVertex3f(16.0, -9.0, 10.1); glVertex3f(16.0, -13.0, 10.1); glVertex3f(16.0, -9.0, 0.0); glVertex3f(16.0, -9.0, 10.01); glVertex3f(3.0, -9.0, 10.01); glVertex3f(3.0, -9.0, 0.0); glVertex3f(16.0, -13.0, 0.0); glVertex3f(16.0, -13.0, 10.01); glVertex3f(3.0, -13.0, 10.01); glVertex3f(3.0, -13.0, 0.0); glVertex3f(14.5, -12.25, 10.0); glVertex3f(14.5, -12.0, 10.0); glVertex3f(14.0, -12.0, 10.0); glVertex3f(14.0, -12.25, 10.0); glVertex3f(14.5, -12.25, 10.5); glVertex3f(14.5, -12.0, 10.5); glVertex3f(14.0, -12.0, 10.5); glVertex3f(14.0, -12.25, 10.5); glVertex3f(14.5, -12.25, 10.5); glVertex3f(14.5, -12.0, 10.5); glVertex3f(14.5, -12.0, 10.0); glVertex3f(14.5, -12.25, 10.0); glVertex3f(14.0, -12.25, 10.5); glVertex3f(14.0, -12.0, 10.5); glVertex3f(14.0, -12.0, 10.0); glVertex3f(14.0, -12.25, 10.0); glVertex3f(14.5, -12.25, 10.5); glVertex3f(14.5, -12.25, 10.0); glVertex3f(14.0, -12.25, 10.0); glVertex3f(14.0, -12.25, 10.5); glVertex3f(14.5, -12.0, 10.5); glVertex3f(14.5, -12.0, 10.0); glVertex3f(14.0, -12.0, 10.0); glVertex3f(14.0, -12.0, 10.5); glVertex3f(13.75, -12.25, 10.0); glVertex3f(13.75, -12.0, 10.0); glVertex3f(13.25, -12.0, 10.0); glVertex3f(13.25, -12.25, 10.0); glVertex3f(13.75, -12.25, 10.5); glVertex3f(13.75, -12.0, 10.5); glVertex3f(13.25, -12.0, 10.5); glVertex3f(13.25, -12.25, 10.5); glVertex3f(13.75, -12.25, 10.5); glVertex3f(13.75, -12.0, 10.5); glVertex3f(13.75, -12.0, 10.0); glVertex3f(13.75, -12.25, 10.0); glVertex3f(13.25, -12.25, 10.5); glVertex3f(13.25, -12.0, 10.5); glVertex3f(13.25, -12.0, 10.0); glVertex3f(13.25, -12.25, 10.0); glVertex3f(13.75, -12.25, 10.5); glVertex3f(13.75, -12.25, 10.0); glVertex3f(13.25, -12.25, 10.0); glVertex3f(13.25, -12.25, 10.5); glVertex3f(13.75, -12.0, 10.5); glVertex3f(13.75, -12.0, 10.0); glVertex3f(13.25, -12.0, 10.0); glVertex3f(13.25, -12.0, 10.5); glColor3f(0.8, 0.8, 0.0); glVertex3f(13.0, -12.25, 10.02); glVertex3f(13.0, -12.0, 10.02); glVertex3f(12.25, -12.0, 10.02); glVertex3f(12.25, -12.25, 10.02); glColor3f(0.0, 0.0, 0.0); glVertex3f(9.0, -12.5, 10.02); glVertex3f(9.0, -12.0, 10.02); glVertex3f(7.5, -12.0, 10.02); glVertex3f(7.5, -12.5, 10.02); glColor3f(0.8, 0.8, 0.8); glVertex3f(8.9, -12.4, 10.03); glVertex3f(8.9, -12.1, 10.03); glVertex3f(7.6, -12.1, 10.03); glVertex3f(7.6, -12.4, 10.03); glVertex3f(8.6, -12.4, 10.5); glVertex3f(8.6, -12.1, 10.5); glVertex3f(8.9, -12.1, 10.03); glVertex3f(8.9, -12.4, 10.03); glVertex3f(7.9, -12.1, 10.5); glVertex3f(7.9, -12.4, 10.5); glVertex3f(7.6, -12.4, 10.03); glVertex3f(7.6, -12.1, 10.03); glVertex3f(8.6, -12.1, 10.5); glVertex3f(8.6, -12.4, 10.5); glVertex3f(7.9, -12.4, 10.5); glVertex3f(7.9, -12.1, 10.5); glVertex3f(8.9, -12.4, 10.03); glVertex3f(8.6, -12.4, 10.5); glVertex3f(7.9, -12.4, 10.5); glVertex3f(7.6, -12.4, 10.03); glVertex3f(8.9, -12.1, 10.03); glVertex3f(8.6, -12.1, 10.5); glVertex3f(7.9, -12.1, 10.5); glVertex3f(7.6, -12.1, 10.03); glColor3f(0.68, 0.68, 0.68); glVertex3f(15.0, -11.5, 3.0); glVertex3f(15.0, -9.5, 3.0); glVertex3f(4.0, -9.5, 3.0); glVertex3f(4.0, -11.5, 3.0); glVertex3f(15.0, -11.5, 10.02); glVertex3f(15.0, -9.5, 10.02); glVertex3f(4.0, -9.5, 10.02); glVertex3f(4.0, -11.5, 10.02); glVertex3f(4.0, -11.5, 3.0); glVertex3f(4.0, -9.5, 3.0); glVertex3f(4.0, -9.5, 10.02); glVertex3f(4.0, -11.5, 10.02); glVertex3f(15.0, -11.5, 3.0); glVertex3f(15.0, -9.5, 3.0); glVertex3f(15.0, -9.5, 10.2); glVertex3f(15.0, -11.5, 10.2); glVertex3f(15.0, -9.5, 3.0); glVertex3f(15.0, -9.5, 10.02); glVertex3f(4.0, -9.5, 10.02); glVertex3f(4.0, -9.5, 3.0); glVertex3f(15.0, -11.5, 3.0); glVertex3f(15.0, -11.5, 10.02); glVertex3f(4.0, -11.5, 10.02); glVertex3f(4.0, -11.5, 3.0); glEnd(); /* Floppy Drive */ glBegin(GL_QUADS); glColor3f(0.69, 0.69, 0.69); glVertex3f(1.0, -11.0, 4.0); glVertex3f(1.0, -9.0, 4.0); glVertex3f(-7.0, -9.0, 4.0); glVertex3f(-7.0, -11.0, 4.0); glVertex3f(1.0, -11.0, 10.01); glVertex3f(1.0, -9.0, 10.01); glVertex3f(-7.0, -9.0, 10.01); glVertex3f(-7.0, -11.0, 10.01); glVertex3f(-7.0, -11.0, 4.0); glVertex3f(-7.0, -9.0, 4.0); glVertex3f(-7.0, -9.0, 10.01); glVertex3f(-7.0, -11.0, 10.01); glVertex3f(1.0, -11.0, 4.0); glVertex3f(1.0, -9.0, 4.0); glVertex3f(1.0, -9.0, 10.01); glVertex3f(1.0, -11.0, 10.01); glVertex3f(1.0, -9.0, 4.0); glVertex3f(1.0, -9.0, 10.01); glVertex3f(-7.0, -9.0, 10.01); glVertex3f(-7.0, -9.0, 4.0); glVertex3f(1.0, -11.0, 4.0); glVertex3f(1.0, -11.0, 10.01); glVertex3f(-7.0, -11.0, 10.01); glVertex3f(-7.0, -11.0, 4.0); glVertex3f(1.0, -13.0, 2.0); glVertex3f(1.0, -11.0, 2.0); glVertex3f(-7.0, -11.0, 2.0); glVertex3f(-7.0, -13.0, 2.0); glVertex3f(1.0, -13.0, 10.01); glVertex3f(1.0, -11.0, 10.01); glVertex3f(-7.0, -11.0, 10.01); glVertex3f(-7.0, -13.0, 10.01); glVertex3f(-7.0, -13.0, 2.0); glVertex3f(-7.0, -11.0, 2.0); glVertex3f(-7.0, -11.0, 10.01); glVertex3f(-7.0, -13.0, 10.01); glVertex3f(1.0, -13.0, 2.0); glVertex3f(1.0, -11.0, 2.0); glVertex3f(1.0, -11.0, 10.01); glVertex3f(1.0, -13.0, 10.01); glVertex3f(1.0, -11.0, 2.0); glVertex3f(1.0, -11.0, 10.01); glVertex3f(-7.0, -11.0, 10.01); glVertex3f(-7.0, -11.0, 2.0); glVertex3f(1.0, -13.0, 2.0); glVertex3f(1.0, -13.0, 10.01); glVertex3f(-7.0, -13.0, 10.01); glVertex3f(-7.0, -13.0, 2.0); glVertex3f(0.0, -12.5, 10.02); glVertex3f(0.0, -12.0, 10.02); glVertex3f(-1.0, -12.0, 10.02); glVertex3f(-1.0, -12.5, 10.02); glVertex3f(0.0, -12.5, 10.5); glVertex3f(0.0, -12.0, 10.5); glVertex3f(-1.0, -12.0, 10.5); glVertex3f(-1.0, -12.5, 10.5); glVertex3f(-1.0, -12.5, 10.02); glVertex3f(-1.0, -12.0, 10.5); glVertex3f(-1.0, -12.0, 10.5); glVertex3f(-1.0, -12.5, 10.02); glVertex3f(0.0, -12.5, 10.02); glVertex3f(0.0, -12.0, 10.5); glVertex3f(0.0, -12.0, 10.5); glVertex3f(0.0, -12.5, 10.02); glVertex3f(-1.0, -12.0, 10.02); glVertex3f(-1.0, -12.0, 10.5); glVertex3f(0.0, -12.0, 10.5); glVertex3f(0.0, -12.0, 10.02); glVertex3f(-1.0, -12.5, 10.02); glVertex3f(-1.0, -12.5, 10.5); glVertex3f(0.0, -12.5, 10.5); glVertex3f(0.0, -12.5, 10.02); glEnd(); /* Drive Door */ glBegin(GL_POLYGON); glVertex3f(0.5, -12.0, 10.02); glVertex3f(0.5, -11.25, 10.02); glVertex3f(-6.5, -11.25, 10.02); glVertex3f(-6.5, -12.0, 10.02); glVertex3f(-4.5, -12.0, 10.02); glVertex3f(-4.5, -12.25, 10.02); glVertex3f(-1.5, -12.25, 10.02); glVertex3f(-1.5, -12.0, 10.02); glEnd(); /* Draw Monitor */ glBegin(GL_QUADS); glColor3f(0.7, 0.7, 0.7); glVertex3f(8, -7.99, 8); glVertex3f(8, -7.99, -8); glVertex3f(-8, -7.99, -8); glVertex3f(-8, -7.99, 8); glVertex3f(8, -6.00, 8); glVertex3f(8, -6.00, -8); glVertex3f(-8, -6.00, -8); glVertex3f(-8, -6.00, 8); glVertex3f(8, -7.99, 8); glVertex3f(8, -6.0, 8); glVertex3f(-8, -6.0, 8); glVertex3f(-8, -7.99, 8); glVertex3f(8, -7.99, -8); glVertex3f(8, -6.0, -8); glVertex3f(-8, -6.0, -8); glVertex3f(-8, -7.99, -8); glVertex3f(-8, -7.99, 8); glVertex3f(-8, -6.0, 8); glVertex3f(-8, -6.0, -8); glVertex3f(-8, -7.99, -8); glVertex3f(8, -7.99, 8); glVertex3f(8, -6.0, 8); glVertex3f(8, -6.0, -8); glVertex3f(8, -7.99, -8); /*glVertex3f(5, -6.0, -5); glVertex3f(5, 1.3, -5); glVertex3f(5, -2.5, 5); glVertex3f(5, -6.0, 5); glVertex3f(-5, -6.0, -5); glVertex3f(-5, 1.3, -5); glVertex3f(-5, -2.5, 5); glVertex3f(-5, -6.0, 5); glVertex3f(5, -6.0, 5); glVertex3f(5, -2.5, 5); glVertex3f(-5, -2.5, 5); glVertex3f(-5, -6.0, 5); glVertex3f(5, -6.0, -5); glVertex3f(5, 1.3, -5); glVertex3f(-5, 1.3, -5); glVertex3f(-5, -6.0, -5);*/ glColor3f(0.6, 0.6, 0.6); glVertex3f(10, -2.99, 4); glVertex3f(10, 17.01, 4); glVertex3f(-10, 17.01, 4); glVertex3f(-10, -2.99, 4); glVertex3f(5, 3.01, -10); glVertex3f(5, 12.01, -10); glVertex3f(-5, 12.01, -10); glVertex3f(-5, 3.01, -10); glVertex3f(10, 17.01, 4); glVertex3f(5, 12.01, -10); glVertex3f(-5, 12.01, -10); glVertex3f(-10, 17.01, 4); glVertex3f(10, -2.99, 4); glVertex3f(5, 3.01, -10); glVertex3f(-5, 3.01, -10); glVertex3f(-10, -2.99, 4); glVertex3f(5, 3.01, -10); glVertex3f(5, 12.01, -10); glVertex3f(10, 17.01, 4); glVertex3f(10, -2.99, 4); glVertex3f(-5, 3.01, -10); glVertex3f(-5, 12.01, -10); glVertex3f(-10, 17.01, 4); glVertex3f(-10, -2.99, 4); glColor3f(0.7, 0.7, 0.7); glVertex3f(12, -5.99, 10); glVertex3f(12, -2.99, 10); glVertex3f(-12, -2.99, 10); glVertex3f(-12, -5.99, 10); glVertex3f(12, 16.01, 10); glVertex3f(12, 19.01, 10); glVertex3f(-12, 19.01, 10); glVertex3f(-12, 16.01, 10); glVertex3f(-9, -2.99, 10); glVertex3f(-9, 16.01, 10); glVertex3f(-12, 16.01, 10); glVertex3f(-12, -2.99, 10); glVertex3f(12, -2.99, 10); glVertex3f(12, 16.01, 10); glVertex3f(9, 16.01, 10); glVertex3f(9, -2.99, 10); glVertex3f(12, -5.99, 4); glVertex3f(12, 19.01, 4); glVertex3f(-12, 19.01, 4); glVertex3f(-12, -5.99, 4); glVertex3f(12, -5.99, 10); glVertex3f(12, 19.01, 10); glVertex3f(12, 19.01, 4); glVertex3f(12, -5.99, 4); glVertex3f(-12, -5.99, 10); glVertex3f(-12, 19.01, 10); glVertex3f(-12, 19.01, 4); glVertex3f(-12, -5.99, 4); glVertex3f(12, 19.01, 4); glVertex3f(12, 19.01, 10); glVertex3f(-12, 19.01, 10); glVertex3f(-12, 19.01, 4); glVertex3f(12, -5.99, 4); glVertex3f(12, -5.99, 10); glVertex3f(-12, -5.99, 10); glVertex3f(-12, -5.99, 4); glColor3f(1.0, 1.0, 1.0); glVertex3f(9, -2.99, 10); glVertex3f(9, 16.01, 10); glVertex3f(-9, 16.01, 10); glVertex3f(-9, -2.99, 10); glVertex3f(8, -1.99, 11); glVertex3f(8, 15.01, 11); glVertex3f(-8, 15.01, 11); glVertex3f(-8, -1.99, 11); glVertex3f(9, -2.99, 10); glVertex3f(9, 16.01, 10); glVertex3f(8, 15.01, 11); glVertex3f(8, -1.99, 11); glVertex3f(-9, -2.99, 10); glVertex3f(-9, 16.01, 10); glVertex3f(-8, 15.01, 11); glVertex3f(-8, -1.99, 11); glVertex3f(8, 15.01, 11); glVertex3f(9, 16.01, 10); glVertex3f(-9, 16.01, 10); glVertex3f(-8, 15.01, 11); glVertex3f(8, -1.99, 11); glVertex3f(9, -2.99, 10); glVertex3f(-9, -2.99, 10); glVertex3f(-8, -1.99, 11); /*mother board */ glColor3f(0.0, 0.7, 0.0); glVertex3f(19.0, -17.5, -10.0); glVertex3f(19.0, -17.0, -10.0); glVertex3f(-19.0, -17.0, -10.0); glVertex3f(-19.0, -17.5, -10.0); glVertex3f(-19.0, -17.0, -10.0); glVertex3f(-19.0, -17.5, -10.0); glVertex3f(-19.0, -17.5, 7.0); glVertex3f(-19.0, -17.0, 7.0); glVertex3f(19.0, -17.0, -10.0); glVertex3f(19.0, -17.5, -10.0); glVertex3f(19.0, -17.5, 7.0); glVertex3f(19.0, -17.0, 7.0); glVertex3f(19.0, -17.5, 7.0); glVertex3f(19.0, -17.0, 7.0); glVertex3f(-19.0, -17.0, 7.0); glVertex3f(-19.0, -17.5, 7.0); glVertex3f(19.0, -17.0, -10.0); glVertex3f(19.0, -17.0, 7.0); glVertex3f(-19.0, -17.5, 7.0); glVertex3f(-19.0, -17.5, -10.0); glVertex3f(19.0, -17.0, -10.0); glVertex3f(19.0, -17.0, 7.0); glVertex3f(-19.0, -17.5, 7.0); glVertex3f(-19.0, -17.5, -10.0); glEnd(); glColor3f(0.7, 0.7, 0.7); glutSolidSphere(7.0, 10.0, 8.0); glPopMatrix(); glutSwapBuffers(); glFlush(); } void keyboard(unsigned char key, int x, int y) { switch(key) { case 27: exit(0); break; case 'w': glPolygonMode(GL_FRONT_AND_BACK, GL_LINE); break; case 's': glPolygonMode(GL_FRONT_AND_BACK, GL_FILL); break; } } void arrows(int key, int x, int y) { switch(key) { case GLUT_KEY_UP: u = u + 10; break; case GLUT_KEY_DOWN: u = u - 10; break; case GLUT_KEY_LEFT: v = v - 10.0; break; case GLUT_KEY_RIGHT: v = v + 10.0; break; } } void main(int argc, char** argv) { glutInit(&argc, argv); glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGBA | GLUT_DEPTH); glutInitWindowPosition(50,50); glutInitWindowSize(500,500); glutCreateWindow("CSE 540 Lab #3"); glEnable(GL_DEPTH_TEST); init(); glutDisplayFunc(display); glutReshapeFunc(reshape); glutKeyboardFunc(keyboard); glutSpecialFunc(arrows); glutIdleFunc(display); glutMainLoop(); }