2006 Project 2 - a Room with a Pool
Due 3/6/06 at
11:59pm Chicago time
The goal of this
project is to write some more sophisticated GLSL code.
This program
will make use of multitexturing, animation, noise, bump mapping,
lighting, environment mapping, reflection, refraction, and probably
some other things as well.
In this project you will create a room, say roughly 15 meters long,
wide, and high.
The main feature of the room is a central pool which is 3 meters deep
at its deepest point. You should leave enough room for the user to walk
around the outside of the pool, and enough room for the user to walk
into the pool.
The user should be able to look up and down, turn left and right.
There should be at least one light in the scene.
The walls of the room, the floor of the room, the ceiling, and the
sides and floor of the pool are places where you can be creative with
texture
mapping. You can also add objects into the room to create an
interesting scene. Coming up with a theme would also be a good idea so
the room does not look like a Hyborian garage sale.
There should be objects in the pool. One object should be completely
submerged, and another should be tall enough to stick out of the water.
Again there are options here for creative texture mapping on the
objects.
The main focus of the work is on the water. The water should both
reflect and refract the room. There are simple ways to do this
based on what we have talked about in class, and more complicated ways
that are described in a variety of web pages. The water should look
good standing in the room.
Doing that gets you a B.
To get an A you should make sure the room is interesting. It does not
have to be a complex model to be interesting - the focus here is on
using GLSL to add apparent complexity. The water should correctly
reflect all the objects in the room and the water should move (or at
least appear to move) with either ripples or waves. You should be able
to go under the water and look around, and more importantly look up.
Other things you might want to consider are dynamic shadows or maybe
some flames.
The
focus of the project presentations will be on the unique things you you
did in your project. The idea here is to see the different techniques
that people used to solve similar problems. Show off ... and
explain how you did it.
As with the
first project, to
turn in your project you should set up a web page describing your work,
including the well-commented source code and required files to be able
to compile and run your program, and some screendumps showing what your
application should look like. You should then email andy with the
location of this website before the deadline.
Again, it
would probably be a good idea to put a backup copy of the web page at a
second website just in case I can't get to the first one.
You may be
interested in this library Bob put together:
http://www.evl.uic.edu/rlk/obj/obj.html
You may also
want to check out one of the freeware modelling packages like Milkshape
3D: http://www.swissquake.ch/chumbalum-soft/
last revision 2/6/06