MIME-Version: 1.0 Server: CERN/3.0 Date: Monday, 06-Jan-97 22:02:22 GMT Content-Type: text/html Content-Length: 2515 Last-Modified: Monday, 30-Sep-96 20:08:22 GMT class Ray Tracer

Ray Tracer

a modular ray tracer

Ray Tracer Objects
Supporting Objects
Test Data Objects
From Glasner, there are eight stages to creating an image:
  1. Generating initial sample points.
  2. Evaluating the data at the sample points.
  3. Combining the samples with any other samples taken.
  4. Testing to determing if sampling is complete.
  5. Generating additional sample points if needed.
  6. Reconstructing the original signal based on the sampled data.
  7. Sampling the reconstruction for the appropriate display.
  8. Displaying the image.

This project addresses each step above by creating a class of objects, and several supporting objects, whose purpose is to complete one of the eight steps using the ray-tracing framework.

The modularity of this approach allows a user to easily extend any specific function of a ray tracer by subclassing one of the existing classes and adding the desired functionality. In this manner a user could easily test a new idea, for example, a new jitter method, without having to write an entire ray tracer to test the new functions.

I have created three types of objects. The first is a set of objects required in the ray-tracing paradigm. The second set is a group of objects which support the implementation of this framework. Finally, the third set is the objects used in my particular test data.

These objects are just for the sampling of the data. I have created an application which produces a PPM file format based on a single sample per pixel.

alphabetic index hierarchy of classes


source code
Isaac A. Sheldon isheldon@cs.utexas.edu

generated by doc++