Performance Analysis for GPU-based Ray-triangle Algorithms

Juan J. Jiménez, Carlos J. Ogáyar, José M. Noguera, Félix Paulano


Several algorithms have been proposed during the past years to solve the ray-triangle intersection test. In this paper we collect the most prominent solutions and describe how to parallelize them on modern programmable graphics processing units (GPUs) by means of NVIDIA CUDA. This paper also provides a comprehensive performance analysis based on several optional features and optimizations (such as back-face culling and the use of pre-computed values) that allowed us to determine the influence of each factor on the performance. Finally, we analyze the architecture of the GPU and its impact on the parallel implementation of each method, as well as the approach used to achieve a high-performance fine-grained parallel computation on the ray-triangle test.


  1. Aila, T. and Laine, S. (2009). Understanding the efficiency of ray traversal on gpus. In Proc. High-Performance Graphics 2009, pages 145-149.
  2. Amanatides, J. and Choi, K. (1995). Ray tracing triangular meshes. In Proc. Western Computer Graphics Symposium, pages 43-52.
  3. Badouel, D. (1990). An efficient ray-polygon intersection. In Graphics Gems I, pages 390-394. Academic Press Inc.
  4. Benthin, C. (2006). Realtime Ray Tracing on current CPU Architectures. PhD thesis, Saarland University.
  5. Foley, T. and Sugerman, J. (2005). Kd-tree acceleration structures for a gpu ray tracer. In Proc. of the ACM Siggraph/Eurographics Conference on Graphics Hardware, pages 15-22.
  6. Glassner, A. (1989). An Introduction to Ray Tracing. Academic Press, New York.
  7. Havel, J. and Herout, A. (2010). Yet faster ray-triangle intersection (using sse4). IEEE Trans. Visualization and Computer Graphics, 16(3):434-438.
  8. Jiménez, J. J., Segura, R. J., and Feito, F. R. (2010). A robust segment/triangle intersection algorithm for interference tests. efficiency study. Computational Geometry: Theory and Applications, 43(5):474-492.
  9. Jones, R. (2000). Intersecting a ray and a triangle with plücker coordinates. Ray Tracing News, 13(1).
  10. Kensler, A. and Shirley, P. (2006). Optimizing ray-triangle intersection via automated search. In Proc. IEEE Symposium on Interactive Ray Tracing, pages 33-38.
  11. Kim, S., Nam, S., Kim, D., and Lee, I. (2007). Hardwareaccelerated ray-triangle intersection testing for highperformance collision detection. In Proc. Journal of WSCG, volume 15.
  12. Kirk, D. and Hwu, W. (2010). Programming Massively Parallel Processors. Morgan Kaufmann.
  13. Lin, M. and Gottschalk, S. (1998). Collision detection between geometric models: A survey. In Proc. IMA Conf. on Mathematics of Surfaces, pages 37-56.
  14. L öfstedt, M. and Akenine-Möller, T. (2005). An evaluation framework for ray-triangle intersection algorithms. Journal of Graphics Tools, 10(2):13-26.
  15. Möller, T. and Trumbore, B. (1997). Fast, minimum storage ray-triangle intersection. journal of graphics tools, 2(1):21-28.
  16. Noguera, J., Urena, C., and García, R. (2009). A vectorized traversal algorithm for ray tracing. In Proc. of the Fourth International Conference on Computer Graphics Theory and Applications (GRAPP 2009), pages 58-63. INSTICC Press.
  17. Plucker, J. (1865). On a new geometry of space. Phil. Trans. Royal Soc. London, 155:725-791.
  18. Purcell, T. J., Buck, I., Mark, W. R., and Hanrahan, P. (2002). Ray tracing on programmable graphics hardware. ACM Transactions on Graphics, 21(3):703- 712.
  19. Rueda, A. J. and Ortega, L. (2008). Geometric algorithms on cuda. In Proc. 3rd International Conference on Computer Graphics Theory and Applications (Grapp), pages 107-112.
  20. Segura, R. J. and Feito, F. R. (1998). An algorithm for determining intersection segment-polygon in 3d. Computer and Graphics, 22(5):587- 592.
  21. Segura, R. J. and Feito, F. R. (2001). Algorithms to test ray-triangle intersection. comparative study. Journal of WSCG, 9(3):76-81.
  22. Shevtsov, M., Soupikov, A., and Kapustin, A. (2007). Raytriangle intersection algorithm for modern cpu architectures. In Proc. International Conference on Computer Graphics and Vision (GraphiCon 2007).
  23. Woop, S., Benthin, C., and Wald, I. (2013). Watertight ray/triangle intersection. Journal of Computer Graphics Techniques (JCGT), 2(1):65-82.

Paper Citation

in Harvard Style

Jiménez J., Ogáyar C., Noguera J. and Paulano F. (2014). Performance Analysis for GPU-based Ray-triangle Algorithms . In Proceedings of the 9th International Conference on Computer Graphics Theory and Applications - Volume 1: GRAPP, (VISIGRAPP 2014) ISBN 978-989-758-002-4, pages 239-246. DOI: 10.5220/0004650002390246

in Bibtex Style

author={Juan J. Jiménez and Carlos J. Ogáyar and José M. Noguera and Félix Paulano},
title={Performance Analysis for GPU-based Ray-triangle Algorithms},
booktitle={Proceedings of the 9th International Conference on Computer Graphics Theory and Applications - Volume 1: GRAPP, (VISIGRAPP 2014)},

in EndNote Style

JO - Proceedings of the 9th International Conference on Computer Graphics Theory and Applications - Volume 1: GRAPP, (VISIGRAPP 2014)
TI - Performance Analysis for GPU-based Ray-triangle Algorithms
SN - 978-989-758-002-4
AU - Jiménez J.
AU - Ogáyar C.
AU - Noguera J.
AU - Paulano F.
PY - 2014
SP - 239
EP - 246
DO - 10.5220/0004650002390246