frame rates. We described two implementations of
our ray caster, both accelerated by the graphics hard-
ware. The first one only uses the graphics hardware to
build the OIB and the shadow maps, the second one
executes completely on the GPU. We showed that the
GPU based implementation leads to a superior perfor-
mance. Consequently we used the OIB to implement
a hybrid ray tracer by sharing the load between the
host processor and the GPU using parallel rendering.
ACKNOWLEDGEMENTS
The authors would like to thank Sonja Sch
¨
ar, Stefan
Eilemann, John Hutchison and all other reviewers for
valuable assistance and discussions.
REFERENCES
Bolz, J., Farmer, I., Grinspun, E., and Schr
¨
oder, P. (2003).
The GPU as Numerical Simulation Engine. In Pro-
ceedings of SIGGRAPH 2003. ACM Press.
Buck, I., Foley, T., Horn, D., Sugerman, J., Fatahalian,
K., Houston, M., and Hanrahan, P. (2004). Brook
for GPUs: Stream Computing on Graphics Hardware.
ACM Trans. Graph., 23(3):777–786.
Carr, N. A., Hall, J. D., and Hart, J. C. (2002). The Ray En-
gine. In Proceedings of the ACM SIGGRAPH/EURO-
GRAPHICS conference on Graphics hardware, pages
37–46. Eurographics Association.
Carr, N. A., Hoberock, J., Crane, K., and Hart, J. C. (2006).
Fast GPU Ray Tracing of Dynamic Meshes using Ge-
ometry Images. In GI ’06: Proceedings of the 2006
conference on Graphics interface, pages 203–209.
Christen, M. (2005). Ray Tracing on GPU. Master’s thesis,
University of Applied Sciences Basel.
Fatahalian, K., Sugerman, J., and Hanrahan, P. (2004).
Understanding the Efficiency of GPU Algorithms for
Matrix-Matrix Multiplication. In Graphics Hardware
2004, pages 133–137.
Foley, T. and Sugerman, J. (2005). Kd-Tree Acceleration
Structures for a GPU Raytracer. In HWWS ’05: Pro-
ceedings of the ACM SIGGRAPH/EUROGRAPHICS
conference on Graphics hardware, pages 15–22, New
York, NY, USA. ACM Press.
Heckbert, P. (1986). Survey of texture mapping. IEEE Com-
put. Graph. Appl., 6(11):56–67.
Karlsson, F. and Ljungstedt, C. J. (2004). Ray Tracing Fully
Implemented on Programmable Graphics Hardware.
Master’s thesis, Chalmers University of Technology.
Kim, S., ye Kim, S., and hyun Yoon, K. (2000). A Study
on the Ray-Tracing Acceleration Technique Based on
the ZF-Buffer Algorithm. In IV ’00: Proceedings of
the International Conference on Information Visuali-
sation, page 393, Washington, DC, USA. IEEE Com-
puter Society.
Lamparter, B., M
¨
uller, H., and Winckler, J. (1990). The
Ray-z-Buffer—An Approach for Ray Tracing Arbi-
trarily Large Scenes. Technical Report report00021.
Lefohn, A., Kniss, J. M., Strzodka, R., Sengupta, S.,
and Owens, J. D. (2006). Glift: Generic, Efficient,
Random-Access GPU Data Structures. ACM Trans-
actions on Graphics, 25(1):60–99.
Lext, J., Assarsson, U., and M
¨
oller, T. (2000). BART:
A Benchmark for Animated Ray Tracing. Techni-
cal Report 00-14, Chalmers University of Technology,
Goeteborg, Sweden.
M
¨
oller, T. and Trumbore, B. (1997). Fast, Minimum
Storage Ray-Triangle Intersection. J. Graph. Tools,
2(1):21–28.
Molnar, S., Cox, M., Ellsworth, D., and Fuchs, H. (1994).
A Sorting Classification of Parallel Rendering. IEEE
Computer Graphics and Algorithms, pages 23–32.
Owens, J. D., Luebke, D., Govindaraju, N., Harris, M.,
Kr
¨
uger, J., Lefohn, A. E., and Purcell, T. J. (2005).
A Survey of General-Purpose Computation on Graph-
ics Hardware. In Eurographics 2005, State of the Art
Reports, pages 21–51.
Purcell, T. J., Buck, I., Mark, W. R., and Hanrahan,
P. (2002). Ray Tracing on Programmable Graph-
ics Hardware. ACM Transactions on Graphics,
21(3):703–712.
Reshetov, A., Soupikov, A., and Hurley, J. (2005). Multi-
Level Ray Tracing Algorithm. ACM Trans. Graph.,
24(3):1176–1185.
Salesin, D. and Stolfi, J. (1989). The ZZ-Buffer: A Sim-
ple and Efficient Rendering Algorithm with Reliable
Antialiasing. In Proceedings of the PIXIM ’89 Con-
ference, pages 451–66.
Simonsen, L. O. and Thrane, N. (2005). A Comparison of
Acceleration Structures for GPU Assisted Ray Trac-
ing. Master’s thesis, University of Aarhus.
Sutherland, I. E., Sproull, R. F., and Schumacker, R. A.
(1974). A Characterization of Ten Hidden-Surface Al-
gorithms. ACM Comput. Surv., 6(1):1–55.
Wald, I., Benthin, C., and Slusallek, P. (2003). Dis-
tributed Interactive Ray Tracing of Dynamic Scenes.
In Proceedings of the IEEE Symposium on Parallel
and Large-Data Visualization and Graphics (PVG) ,
pages 77–85.
Wald, I. and Havran, V. (2006). On building fast Kd-Trees
for Ray Tracing, and on doing that in O(N log N). In
Proceedings of the 2006 IEEE Symposium on Interac-
tive Ray Tracing, pages 61–69.
Weghorst, H., Hooper, G., and Greenberg, D. P. (1984).
Improved Computational Methods for Ray Tracing.
ACM Trans. Graph., 3(1):52–69.
Weiskopf, D., Schafhitzel, T., and Ertl, T. (2004). GPU-
Based Nonlinear Ray Tracing. In Eurographics 2004,
volume 23, pages 625–633.
Williams, L. (1978). Casting Curved Shadows on Curved
Surfaces. In SIGGRAPH ’78: Proceedings of the 5th
annual conference on Computer graphics and interac-
tive techniques, pages 270–274, New York, NY, USA.
ACM Press.
HYBRID RAY TRACING - Ray Tracing Using GPU-Accelerated Image-Space Methods
311