Accelerated Ray Tracing using R-Trees

Dirk Feldmann


Efficient ray tracing for rendering needs to minimize the number of redundant intersection tests between rays and geometric primitives. Hence, ray tracers usually employ spatial indexes to organize the scene to be rendered. The most popular ones for this purpose are currently kd-trees and bounding volume hierarchies, for they have been found to yield best performances and can be adapted to contemporary GPU architectures. These adaptations usually come along with costs for additional memory or preprocessing and comprise the employment of stackless traversal algorithms. R-trees are height-balanced spatial indexes with a fixed maximum number of children per node and were designed to reduce access to secondary memory. Although these properties make them compelling for GPU ray tracing, they have not been used in this context so far. In this article, we demonstrate how R-trees can accelerate ray tracing and their competitiveness for this task. Our method is based on two traversal schemes that exploit the regularity of R-trees and forgo preprocessing or alterations of the data structure, with the first algorithm being moreover stackless. We evaluate our approach in implementations for CPUs and GPUs and compare its performance to results we obtained by means of kd-trees.


  1. Arge, L., Berg, M. D., Haverkort, H., and Yi, K. (2008). The Priority R-tree: A Practically Efficient and Worst-case Optimal R-tree. ACM Trans. Algorithms, 4(1):9:1- 9:30.
  2. Bayer, R. and McCreight, E. (1972). Organization and Maintenance of Large Ordered Indexes. Acta Informatica, 1(3):173 - 189.
  3. Beckmann, N., Kriegel, H.-P., Schneider, R., and Seeger, B. (1990). The R*-tree: An efficient and robust access method for points and rectangles. In SIGMOD 7890: Proceedings of the ACM SIGMOD International Conference on Management of Data, volume 19(2), pages 322-331. ACM.
  4. Beckmann, N. and Seeger, B. (2009). A Revised R*-tree in Comparison with Related Index Structures. In Proceedings of the 2009 ACM SIGMOD International Conference on Management of Data, SIGMOD 7809, pages 799-812. ACM.
  5. Günther, J., Popov, S., Seidel, H.-P., and Slusallek, P. (2007). Realtime Ray Tracing on GPU with BVHbased Packet Traversal.
  6. Guttman, A. (1984). R-trees: A dynamic index structure for spatial searching. In SIGMOD 7884: Proceedings of the ACM SIGMOD International Conference on Management of Data, pages 47-57. ACM.
  7. Hachisuka, T. (2009). Ray Tracing on Graphics Hardware. Technical report, University of California at San Diego.
  8. Hapala, M., Davidovic?, T., Wald, I., Havran, V., and Slusallek, P. (2011). Efficient Stack-less BVH Traversal for Ray Tracing. In Proceedings of the 27th Spring Conference on Computer Graphics, SCCG 7811, pages 7-12, New York, NY, USA. ACM.
  9. Hapala, M. and Havran, V. (2011). Review: Kd-tree Traversal Algorithms for Ray Tracing. Computer Graphics Forum, 30(1):199-213.
  10. Horn, D. R., Sugerman, J., Houston, M., and Hanrahan, P. (2007). Interactive K-d Tree GPU Raytracing. In Proceedings of the 2007 Symposium on Interactive 3D Graphics and Games, I3D 7807, pages 167-174, New York, NY, USA. ACM.
  11. MacDonald, D. J. and Booth, K. S. (1990). Heuristics for Ray Tracing Using Space Subdivision. The Visual Computer, 6(3):153-166.
  12. NVIDIA Corp. (2014). GeForce GTX 780 Specifications. geforce-gtx-780/specifications.
  13. Oracle Corp. (2014a). MySQL 5.6 Reference Manual. refman-5.6-en.a4.pdf.
  14. Oracle Corp. (2014b). Oracle Spatial and Graph Developer's Guide. SPATL/E49172-03.pdf.
  15. Samet, H. (2006). Foundations of Multidimensional and Metric Data Structures. Morgan Kaufmann, 1st edition.
  16. Sedgewick, R. (2002). Algorithms in Java Parts I - IV. Addison Wesley, 3rd edition.
  17. Sellis, T. K., Roussopoulos, N., and Faloutsos, C. (1987). The R+-Tree: A Dynamic Index for MultiDimensional Objects. In Proceedings of the 13th International Conference on Very Large Data Bases, VLDB 7887, pages 507-518, San Francisco, CA, USA. Morgan Kaufmann Publishers Inc.
  18. Stich, M., Friedrich, H., and Dietrich, A. (2009). Spatial Splits in Bounding Volume Hierarchies. In Proceedings of the Conference on High Performance Graphics 2009, HPG 7809, pages 7-13, New York, NY, USA. ACM.
  19. Suffern, K. (2007). Ray Tracing from the Ground Up. A. K. Peters, Ltd., 1st edition.
  20. Sylvan, S. (2010). R-trees: Adapting Out-Of-Core Techniques to Modern Memory Architectures. Talk at Game Developers Conference, play/1012452/R-Trees-Adapting-out-of.
  21. Wächter, C. and Keller, A. (2006). Instant Ray Tracing: The Bounding Interval Hierarchy. In Proceedings of the 17th Eurographics Conference on Rendering Techniques, EGSR'06, pages 139-149, Aire-la-Ville, Switzerland, Switzerland. Eurographics Association.
  22. Wald, I. (2007). On Fast Construction of SAH-based Bounding Volume Hierarchies. In Proceedings of the 2007 IEEE Symposium on Interactive Ray Tracing, RT 7807, pages 33-40, Washington, DC, USA. IEEE Computer Society.
  23. 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 Interactive Ray Tracing, pages 61-70.
  24. Wald, I., Mark, W. R., Günther, J., Boulos, S., Ize, T., Hunt, W., Parker, S. G., and Shirley, P. (2007). State of the Art in Ray Tracing Animated Scenes. In STAR Proceedings of Eurographics 2007, pages 89-116. The Eurographics Association.
  25. Wald, I., Slusallek, P., Benthin, C., and Wagner, M. (2001). Interactive rendering with coherent ray tracing. In Computer Graphics Forum, pages 153-164.
  26. Zlatuska, M. and Havran, V. (2010). Ray tracing on a GPU with CUDA - comparative study of three algorithms. In Proceedings of WSCG'2010, communication papers, pages 69-76.

Paper Citation

in Harvard Style

Feldmann D. (2015). Accelerated Ray Tracing using R-Trees . In Proceedings of the 10th International Conference on Computer Graphics Theory and Applications - Volume 1: GRAPP, (VISIGRAPP 2015) ISBN 978-989-758-087-1, pages 247-257. DOI: 10.5220/0005304802470257

in Bibtex Style

author={Dirk Feldmann},
title={Accelerated Ray Tracing using R-Trees},
booktitle={Proceedings of the 10th International Conference on Computer Graphics Theory and Applications - Volume 1: GRAPP, (VISIGRAPP 2015)},

in EndNote Style

JO - Proceedings of the 10th International Conference on Computer Graphics Theory and Applications - Volume 1: GRAPP, (VISIGRAPP 2015)
TI - Accelerated Ray Tracing using R-Trees
SN - 978-989-758-087-1
AU - Feldmann D.
PY - 2015
SP - 247
EP - 257
DO - 10.5220/0005304802470257