![]() |
Project 3: RayTraceDate Assigned: Monday, February 9, 1998Date Due: Monday, February 23, 1998 Artifact Due: Wednesday, February 25, 1998 |
RayTrace is a program that constructs recursively ray-traced images
of fairly simple scenes.
scenes subdirectory (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 | |
| Reflection | 6.4 | 16.12 |
| Refraction | 6.4 | 16.12 |
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 first,
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).
up to
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!