next up previous
Next: Acknowledgements Up: Caching Secondary Rays for Previous: Results

Future Work

In my implementation, the hemisphere is tesselated equally in azimuth and zenith, which causes each cell to be four times wider than it is tall. Sampling four times more in azimuth will cause the cells to be fairly square, which may reduce the sampling noise.

The cache was allocated to hold twice as many points as there were cells on the hemisphere. Too small a cache causes too many new rays to be cast and too big a cache wastes time projecting points that overlap in cells. A wide range of cache sizes should be tested to find the optimum cache-hit ratio for the work done.

My cache-projection loop was not optimized and probably took up the majority of the time with two square roots and one arctangent. A simple table-lookup would probably greatly speed up the algorithm, as would using a hemicube instead of a hemisphere.

Instead of keeping a cache, a standard image-warping algorithm could be applied from the previous pixel's hemisphere to the current one. This would be faster than projecting the cache but might result in more empty cells.



Lawrence Kesteloot
Fri Jan 20 16:24:55 EST 1995