Tim Purcell
CS 684 Homework 5
Efficiency Structures

I chose to implement a bounding volume hierarchy. The spheres are all bounded by axis-aligned boxes. The hierarchy traversal is done recursively following pointers, so even more speed could be cranked with a non-pointer implementation.

The scene traced for this project consists of N spheres (N=1..100000) generated by center(2*drand48()-1, 2*drand48()-1, 2*drand48()-1), radius(0.1/N^1/3). The images are all 512x512 pixels with 1 sample per pixel. The eye is at (0,0,2) looking at (0,0,0) with a vertical field of view of 90 degrees. The image for N=1,000,000.

All time data was gathered running on Surreal (R10k). All data are for total processing time.

Num. Spheres Brute Force time Recursive Hierarchy time
1 3.014s 2.770s
10 6.031s 3.843s
100 36.269s 6.729s
1000 355.772s 20.809s
10000 4213.490s 118.814s
100000 49301.681s 1097.852s
1000000 Surreal died... 11409.413





purcell@facility.cs.utah.edu

Last Modified February 7, 1998