Final Project - CSE 167 - Student: KEVIN POLLARD

Room Layout

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.

Room Interaction

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.

Program

Click here to download the program as a zip file.

ScreenShots AND Video

Click any thumbnail for a high resolution shot!

Click here to download a 4MB video of the scene! (WMV format)