Project 4

Due date: see Schedule
(150 points)

Overview

For this program you will write a basic ray tracer. It will have basic functionality, but you are certainly welcome to add more advanced features if you wish. Your ray tracer must have the following capabilities:

  1. The ability to ray trace spheres.
  2. The ability to ray trace polygons. Let's just do spheres this semester.
  3. You need to allow the specification of the viewing parameters LookFrom, LookAt, ViewUp, FieldOfView.
    1. you can do this using the same matrices as in lab 3, or
    2. you can do this by generating the rays directly in world space
  4. The ability to trace one ray per pixel.
  5. Allow for a single directional or point light source.
  6. The ability to handle a single shadow ray per intersection.
    1. Note: no self-shadowing; don't let the shadow rays hit the object they came from.
    2. If you use a point light and place it between two objects, neither should be shadowed by the other.
  7. Use a decent illumination model for intensity calculations, allowing for ambient, diffuse, and specular components.

For this assignment you need not worry about reflected or refracted rays.

page_revision: 4, last_edited: 1213208090|%e %b %Y, %H:%M %Z (%O ago)
Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-Share Alike 2.5 License.