For my Final Project, I decided to create a room that demonstrated some of the lighting techniques and features of OpenGL that we learned this quarter in CSE 167. Starting with the floor and working our way up, the floor consists of a tile texture map that was taken from the web. The side walls are made up of .0625 unit segments to allow for smooth shading in between vertices. These walls definitely reduce the frame rate when moving around, but it is well worth the added realism that it yields. The ceiling is made up of .125 unit segments, as the added detail from the spotlights would not be needed for enhanced detail there. Also, I have added white floor and crown moldings to the room. The crown molding (ceiling) has a out-in-out shape, creating a different light color whereas the floor molding has just one shade. The light fixture that hangs from (off) the center of the room is an ellipse that was used in project #4 plus made to be transparent. The fixture holds the light bulb, which consists of a sphere and a small silver cylindrical tube that represents the conductor of the bulb. There are four texture maps in the room: the motorcycle, the classroom, the LCD TV, and the tile floor. The motorcycle and classroom function as paintings on the wall. The are illuminated by spot lights mounted in the ceiling. The LCD TV turns on and off, where I set the emissitivity to white when the TV is one, and to black when it is off. I also draw a black quad over the screen to cover up the football image that would otherwise be there. The table is drawn using the GLU library with two cylinders and two discs. The glass bottles that sit on the table are also cylinders but have transparent properties. The chair is made up of many quad strip segments that are pieced together.
The user of this program can interact with the room with they methods listed below. I decided to add mouse-control into this program. The user can rotate the room to the left with the left mouse button, and to the right with the right mouse button. In addition, I added the ability for the user to zoom in or zoom out of the room.
Arrow keys AND Mouse Buttons control viewpoint.
Press "w" to toggle wireframe mode.
Press "c" to toggle culling of back faces.
Press "h" to toggle local viewer.
Press "s" to toggle shading mode.
Press "1" to toggle power to LCD TV.
Press "2" to toggle white room light.
Press "3" to toggle blue room light.
Press "4" to toggle motorcycle spotlight.
Press "5" to toggle classroom spotlight.Press "+" to ZOOM IN.
Press "-" to ZOOM OUT.







