Ray Tracer Checkpoint 2: Camera Modeling

Assigned: March 21, 2012

Due: March 28, 2012

Note: you must work on this assignment on your own.

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 March 28, 2012:

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 five "extras" and add support for triangular meshes in order to achieve the full 100 points for the programming assignments. "Extras" are worth two 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.