CS 970-Spring 2006 Assignment 1
Due date: Feb 6th (in 2 weeks)
FAQ
For this assignment, you will implement a ray tracer.
Your program should be able to render the following
kinds of objects:
- Spheres
- Triangles
- Lights (not rendered explicitly)
Objects will have, associated with them, the following information:
- Surface type:
- Specular (mirrors and translucent glass)
- Glossy (part diffuse, part specular)
- Color. This further specifies the surface properties,
and will depend on the surface type:
- Specular: the fraction of light transmitted and reflected.
- Glossy: diffuse color and specular color (for the Phong
local illumination model).
- Light objects only: Color.
- Transformation: This will be a 4x4 matrix, which expresses the
affine transformation that converts a canonical (standard)
object into the object in the scene.
- Bounding Volume: This can be a box or a more simply a sphere
that contains the object.
Pseudocode
Your ray tracer should implement the pseudocode described here:
NOTE! this pseudocode differs from the code given in the sample
code described below, because the sample code does not include
secondary rays. Read it carefully.
Base Code
I prepared a working ray caster (ray tracer without secondary rays).
Working code is available at:
The full specifications for this ray tracer are on last term's CS
770/870 assignment 4 web page. This includes:
Matrix Decomposition
To find the bounding sphere of a transformed sphere,
you may want to get some information about a given
transformation matrix.
- Here is program that gives you this
information.
Test Scene
Having trouble debugging your code? Try
this test scene .
Alejo Hausner,
Dept of Computer Science,
University of New Hampshire
Last modified: Tue Feb 7 16:57:08 EST 2006