CS 5721 - Computer Graphics
Homework 7:
Final Project (30 pts)
Due Date: Dec. 14, 2007
Description
For this final assignment you have a couple of
options. You can implement basic ray-tracing or you can use OpenGl to create
a mini-game (e.g. guide the bunny through a maze using the keyboard or mouse
to control it). Or some 3D project of your choice (but please clear it with me
first).
Ray-tracing
For the basic ray-tracing project, implement the algorithm of Section 10.4.
You can earn extra credit points for extending it to handle shadows
(Section 10.5), specular reflection (Section 10.6), or refraction
(Section 10.7).
OpenGL mini-game
For a 3D OpenGl game, such as guiding the bunny
through a maze, it would be nice to have a view that moves with the bunny,
looking "over its shoulder" - i.e. a bit behind and above the bunny looking
the same direction as the bunny (so you can see the bunny and where it is
going).
Testing
Your projects will be demonstrated to the class
on the last day of the semester (Dec 14, 2007).
You should be prepared to give a short (a few sentences) explanation of what
you did. An important aspect, however, is that you show your project working
to the rest of the class.
Grading
There are 30 points for
this assignment and they will be broken down as follows:
- Code appears correct and compiles - 9pts
- Code executes correctly - 9pts
- Images correctly generated and
3D objects are implemented - 9pts
- Creativity - 3pts
Extra credit: you can earn 3 points of
extra credit for implementing shadows (Section 10.5), 5 points of extra credit
for specular reflection (Section 10.6), and 10 points of extra credit for
refraction (Section 10.7). Similar amounts of extra credit can be earned for
enhancements to the OpenGl mini-game (or other project).
What to Turn In
You need to turn in ALL of your code for this assignment. This includes any C++ files along with the main.cpp file that tests your code. We MUST know how to compile your program. It is easiest if you create a README.txt file in your submission that describes how to compile the program. If you use any additional files (like project files from Visual C++/.Net/Makefiles/Whatever) you must include these as well. |