Accelerating Ray Tracing
Introduction
Ray Tracing is so time-consuming because of the intersection calculations. Since each ray must be checked against all objects, for a naive raytracer (with no speedup techniques) the time is proportional to the number of rays X the number of objects in the scene. Each intersection requires from a few (5-7) to many (15-20) floating point (fp) operations. Thus for a scene with 100 objects and computed with a spatial resolution of 512 x 512, assuming 10 fp operations per object test there are about 250,000 X 100 X10 = 250,000,000 fps. This is just for the primary rays (from the eye through the image plane) with no anti-aliasing. Clearly there are computational problems with this.
- There are several approaches to speeding up computations:
- 1. Use faster machines
- 2. Use specialized hardware, especially parallel processors.
- 3. Speed up computations by using more efficient algorithms
- 4. Reduce the number of ray - object computations
- Reducing Ray - Object Intersections
- Adaptive depth control
- Bounding Volumes
- First - hit Speedup
Weghorst showed that incorporating the above three techniques (adaptive depth control, hierarchical bounding volumes, and first-hit speedup) approximately halved the intersection computational time for complex scenes. Note that he used spheres as the bounding volumes. In general the computational improvement was inversely dependent on scene complexity.