Programming Assignment A3:
Ray Tracing

Revision 2
Note the following schedule change: Code & Demo Due: 10:30am Tue. 3 Apr. 2001 (after Spring break)
Animation Due: 11:59pm Sun. 8 Apr.

For this assignment, extend the ray caster you wrote in 15-462 to simulate specular reflection and transmission with refraction, do antialiasing, and use BSP trees to accelerate ray-surface intersection testing. Use this program to make some attractive animation that shows off these features (details below). You are to work individually on this assignment.


Starting Point

The starting point for this assignment, which you should hopefully have in place from the ray casting assignment of 15-462, is a ray caster that traces one ray per pixel and does Phong illumination (diffuse+specular), shadows from point light sources, Phong shading (interpolated normal vectors), and texture mapping. We're not giving points for these capabilities in this assignment.

Those of you who took 15-462 from Heckbert, Welling, or Seitz probably implemented a ray caster using the starter code in the following subdirectories of /afs/cs/academic/class/15462/src/ : libdl, raytrace, raymain following this assignment handout or something close to it.

Those of you who took 462 from Davis probably worked from the directory new_ray following this assignment handout.

If you didn't didn't get most of the bugs out of that code, or you'd prefer to start with a clean slate on this assignment, then send email to us ( amperez@andrew ) or talk to us after lecture and we can help you out. Don't wait until the last day to do this!

What you animate could be subdivision surfaces from A2, or almost anything else, as long as it meets the requirements below.


Requirements

Here are the new parts:

Tips

The following are tips, not requirements.

Grading Criteria

Out of 12 points: Extra credit for really cool stuff, e.g. fog, soft shadows, motion blur, depth of field, blobs, CSG, global illumination.
Change log: Corrected anim due date & added tips 2 Apr. Last major change 15 Mar. 2001.

15-463, Computer Graphics 2
Paul Heckbert