- glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);\r
- glLoadIdentity();\r
-\r
- /*glTranslatef( 0.0f, 0.0f, 0.0f);\r
- glBegin(GL_QUADS);\r
- glVertex3f( 0.0f, 1.0f, -1.0f);\r
- glVertex3f( 0.0f, 1.0f, 1.0f);\r
- glVertex3f( 0.0f, -1.0f, 1.0f);\r
- glVertex3f( 0.0f, -1.0f, -1.0f);\r
- glEnd();*/\r
-\r
-\r
- glTranslatef( 0.0f, 0.0f, -5.0f); // Move into the Screen 10.0\r
- glutSolidTeapot(1);\r
-\r
- /* glMatrixMode(GL_MODELVIEW);\r
- glLoadIdentity();\r
- gluLookAt(0.7f, 0.4f, 0.9f, -2.0f, -1.0f, -7.0f, 1.0f, 10.0f, 1.0f);\r
-\r
-\r
- glMatrixMode(GL_PROJECTION);\r
- glLoadIdentity();*/\r
- drawFloor();\r
- glutSwapBuffers();\r
+ glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);\r
+ glLoadIdentity();\r
+ gluLookAt(\r
+ 0.0, 0.0, 10.0, /* eye is at (x,y,z) */\r
+ 0.0, 0.0, 0.0, /* center is at (x,y,z) */\r
+ 0.0, 1.0, 0.0 /* up is in postivie Y direction */\r
+ );\r
+\r
+ // **NOTE: Currently this rotation function is all that moves the camera off\r
+ // the flat surface. Need to integrate function into gluLookAt\r
+ glRotatef(30.0, 1.0, 0.0, 0.0);\r
+\r
+ /* Reposition the light source. */\r
+ lightPosition[0] = 12*cos(lightAngle);\r
+ lightPosition[1] = lightHeight;\r
+ lightPosition[2] = 12*sin(lightAngle);\r
+ lightPosition[3] = 0.0;\r
+\r
+ glPushMatrix();\r
+\r
+ /* Perform scene rotations based on user mouse input. */\r
+ glRotatef(angle, 0.0, 1.0, 0.0);\r
+ //glRotatef(angle2, 1.0, 0.0, 0.0); **NOTE: Only one degree of freedom\r
+\r
+ glLightfv(GL_LIGHT0, GL_POSITION, lightPosition);\r
+\r
+ drawFloor();\r
+\r
+ // Draw teapot for a test object\r
+ glPushMatrix();\r
+ glTranslatef(0.0, 1.0, 0.0); // **NOTE: Teapot does not rest on surface\r
+ glutWireTeapot(1);\r
+ glPopMatrix();\r
+\r
+ // Draw a white ball over the light source\r
+ glPushMatrix();\r
+ glDisable(GL_LIGHTING);\r
+ glColor3f(1.0, 1.0, 1.0);\r
+ glTranslatef(lightPosition[0], lightPosition[1], lightPosition[2]);\r
+ glutSolidSphere(1.0, 50, 50);\r
+ glEnable(GL_LIGHTING);\r
+ glPopMatrix();\r
+\r
+ glPopMatrix();\r
+\r
+ glutSwapBuffers();\r