Ray Tracer Checkpoint 2: Camera Modeling

Assigned: December 9, 2009

Due: December 16, 2009

See assignments overview page for general information.


Introduction

The ray tracer programming assignment is divided into seven checkpoints:

  1. Setting the scene
  2. Camera modeling
  3. Basic shading
  4. Procedural shading
  5. Recursive ray tracing - reflection
  6. Recursive ray tracing - transmission
  7. Tone reproduction

This is checkpoint #2: "Camera modeling".

Objective

Using the scene setup you discovered in checkpoint #1, the tasks for this assignment are:

To complete this assignment, you will need the following information:

What to Submit

To submit your solution, do the following before midnight on December 16, 2009:

It is extremely important to continue to make progress as the course progresses.  Late deliverables will be penalized 10% for each day late.  There is an exception to this rule: if you foresee any problems with meeting deliverable deadlines, please see the instructor well in advance (at least one week) of the deadline that might be missed to make alternate arrangements.

Extras

Recall that you must do at least four "extras" in order to achieve the full 100 points for the programming assignments. "Extras" are worth five points each; this assignment has two possible "extras":

If you choose to do an extra, put multiple images on your web site:

Notes

Code up your ray generation, intersection determination, color calculation, etc. in separate modules/functions/objects. For future assignments, you'll need to modify and/or replace these, so modularizing them now will make your life easier in the future.

Similarly, for ease of use in future assignments, avoid hard-coding values (locations, properties, etc.); instead, use named constants or parameters.

Check the Web for vector libraries/routines; the Blinn paper (in the reading list) gives some ideas.