Ryan Doving CSE 167 Fall 2003 ----------------------------------------------- Final Project README ----------------------------------------------- Instructions: Run FinalProject.exe. arrow keys - move the robot 's', 'f', 'e', 'd' - rotate viewer 1, 2, 3 - toggle lights 'w' - toggle wireframe mode 'c' - toggle culling back faces ESC - exit program --------------------------- Technical Explanation: This program uses OpenGL to highlight techniques such as Phong lighting, blending, and polygon offsets to create a robot that moves around on a reflective floor. The actual robot is drawn using GLUT solid polygons and triangle fans. Normals were added to non-GLUT objects to enable the use of Phong lighting. A quad with alpha value less than 1 is then rendered to create the floor. It uses transparency to make visible a copy of the robot and lights scaled underneath the floor, which gives the effect of a reflection. The robot is then redrawn scaled under the floor. The lights are also redrawn to create accurate lighting effects for the "reflection". This second robot is visible through the semi-transparent floor, which gives the effect of a reflection off the surface of the floor. --------------------------- Aims: I originally planned to draw a robot on a reflective marble floor, using texture maps to create the marbled effect. The difficult part of this was trying to make the texture map transparent. After spending several hours over the recommended 20-25 hour limit to no avail, I decided to revert back to the plain floor.