Project 3: RayTraceDate Assigned: Monday, February 9, 1998
Date Due: Monday, February 23, 1998
Artifact Due: Wednesday, February 25, 1998
RayTraceis a program that constructs recursively ray-traced images of fairly simple scenes.
scenessubdirectory (the files with the .out extension.) Within a week or so we will try to provide you with instructions on other techniques for constructing scene files, including instructions on how you can convert your articulated VRML model into a scene file that you can use.
|Extension||Angel||Foley, et al.|
|Phong specular-reflection model||6.3||16.1 and 16.2.5|
|Contribution from multiple light sources:
||6.1, 6.2||16.1 (particularly in 16.1.5 and 16.1.6)|
|Shadows||16.12 and 16.4|
Add support for materials with arbitrary index of refraction.
Implement an adaptive termination criterion for tracing rays, based on ray contribution.
Implement spot lights.
Add a menu option that lets you specify a background image to replace the environment's ambient color during the rendering.
Implement antialiasing by adaptive sampling, as
described in Foley, et al., 15.10.4.
Implement bump mapping (see Angel, 10.4; Foley, et al., 16.3.3).
Add texture mapping support to the program. An additional for adding a menu option for reflection (environment) mapping (see Angel, 10.3; Foley, et al., 16.12.1 and 16.6).
Implement solid textures or some other form of procedural texture mapping, as described in Foley, et al., 20.1.2 and 20.8.3.
Extend the ray-tracer to create Single Image Random Dot Stereograms (SIRDS). Click here for a brief explanation of how to view them, and click here to read a paper on how to make them. This page may also have some helpful information.
for each additional
Implement distributed ray tracing to produce one or more or the following effects: depth of field, soft shadows, motion blur, or antialiasing (see Foley, et al., 16.12.4).
Implement ray-intersection optimization using either hierarchical bounding volumes or spatial subdivision (see Foley, et al., 15.10.2).
Implement a more realistic shading model. Credit will vary depending on the sophistication of the model. A simple model factors in the Fresnel term to compute the amount of light reflected and transmitted at a perfect dielectric (e.g., glass). A more complex model incorporates the notion of a microfacet distribution to broaden the specular highlight. Accounting for the color dependence in the Fresnel term permits a more metalic appearance. Even better, include anisotropic reflections for a plane with parallel grains or a sphere with grains that follow the lines of latitude or longitude. Sources: Foley et al, Section 16.7; Glassner, Chapter 4, Section 4; Ward's SIGGRAPH '92 paper; Schlick's Eurographics Rendering Workshop '93 paper.
+ Variable extra credit for anything else cool you can think up! Have fun!