Michael Loewke - mloewke@ucsd.edu CSE 167 - Final Project 12/4/03 Commands: 'c' -Turns on and off the culling of back faces 'w' -Toggle wire frame mode 'R' -Increase the rate of rotation 'r' -Decrease the rate of rotation 'esc' -Exit 'up arrow' -Rotate view up 'down' -Rotate view down 'left' -Rotate view left 'right' -Rotate view right Description: This program displays a museum like room, where the viewer can rotate the field of view. On the wall directly facing the view upon running the program sits a mirror where a reflection of the room is shown. The mirror consists of 5 panels, each of which are the view perpendicular (and one backwards) to the viewer's current angle.The reflection is created by using glCopyTexImage2D to copy the frame buffer memory to reproduce what would be the field of view from the sides, back, top and bottom. The images fit nicely together, as the viewing window is created to view exactly one wall's worth of space (allowing the remaining windows to be the direct continuation of the real FOV). The images are then binded, and recalled when necessary to create the mirror view. The mirror moves based upon the viewer's angle, representing what would be the true reflection as the viewing direction changes (the viewer actually stands backwards from the center a small amount, creating a circular path of movement around the center of the room as the viewing direction changes). This was simply done using a little math by adjusting the coordinates of the backwards/center reflection, and those sharing it's coordinates. All of the other pictures and their frames are all made using binded textures which are loaded from bmp files.