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.