Trace
is a program that takes Inventor scene files as input
and generates ray-traced images.
Add texture mapping support to the program. One of the spheres in spheres.iv has a wood texture defined for it.
Implement light attenuation due to fog, smoke, and haze (all three). See man page on SoEnvironment for details. You can use SceneViewer (or edit the .iv file directly) to specify fog color, type (fog/smoke/haze), and visibility distance in a scene (.iv) file.
for one,
for both
Add a menu option that lets you specify a background image to replace
the environment's ambient color during the rendering, and/or add a
menu option for reflection (environment) mapping (see Foley, et al.,
Section 16.12.1 and 16.6).
Implement antialiasing by adaptive sampling, as
described in Foley, et al., Section 15.10.4.
Implement a more realistic shading model than Phong's. See
Foley, van Dam, Feiner, and Hughes, Section 16.7.
Implement bump mapping, as described in Foley, et al., Section 16.3.3.
for first,
for each additional
The ray intersection routines provided by
Inventor are not optimized for a ray tracer. Currently, the starting point
program provides a customized intersection routine for Spheres. Write your
own object-ray intersection function to handle one or more of other
Inventor object types such as cones, cubes, cylinders, or Quad-Meshes
(as created with Sweeper).
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, van Dam, Feiner, and Hughes, Section 16.12.4).
Implement ray-intersection optimization using either hierarchical bounding volumes or spatial subdivision (see Foley, et al., Section 15.10.2).