Stackless KD-Tree traversal for high performance GPU ray tracing

被引:113
|
作者
Popov, Stefan [1 ]
Guenther, Johannes
Seidel, Hans-Peter
Slusallek, Philipp
机构
[1] Univ Saarland, D-6600 Saarbrucken, Germany
[2] MPI Informat, Saarbrucken, Germany
关键词
D O I
10.1111/j.1467-8659.2007.01064.x
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Significant advances have been achieved for realtime ray tracing recently, but realtime performance for complex scenes still requires large computational resources not yet available from the CPUs in standard PCs. Incidentally, most of these PCs also contain modern GPUs that do offer much larger raw compute power However limitations in the programming and memory model have so far kept the performance of GPU ray tracers well below that of their CPU counterparts. In this paper we present a novel packet ray traversal implementation that completely eliminates the need for maintaining a stack during kd-tree traversal and that reduces the number of traversal steps per ray. While CPUs benefit moderately from the stackless approach, it improves GPU performance significantly. We achieve a peak performance of over 16 million rays per second,for reasonably complex scenes, including complex shading and secondary rays. Several examples show that with this new technique GPUs can actually outperform equivalent CPU based ray tracers.
引用
收藏
页码:415 / 424
页数:10
相关论文
共 50 条
  • [21] Fast kd-tree construction for 3D-rendering algorithms like ray tracing
    Hussain, Sajid
    Grahn, Hakan
    ADVANCES IN VISUAL COMPUTING, PROCEEDINGS, PT 2, 2007, 4842 : 681 - 690
  • [22] FastTree: A Hardware KD-Tree Construction Acceleration Engine for Real-Time Ray Tracing
    Liu, Xingyu
    Deng, Yangdong
    Ni, Yufei
    Li, Zonghui
    2015 DESIGN, AUTOMATION & TEST IN EUROPE CONFERENCE & EXHIBITION (DATE), 2015, : 1595 - 1598
  • [23] Parallel kd-Tree Construction on the GPU with an Adaptive Split and Sort Strategy
    David Wehr
    Rafael Radkowski
    International Journal of Parallel Programming, 2018, 46 : 1139 - 1156
  • [24] Parallel kd-Tree Construction on the GPU with an Adaptive Split and Sort Strategy
    Wehr, David
    Radkowski, Rafael
    INTERNATIONAL JOURNAL OF PARALLEL PROGRAMMING, 2018, 46 (06) : 1139 - 1156
  • [25] Omnidirectional ray tracing traversal algorithm for kd-trees
    Reshetov, Alexander
    RT 06: IEEE Symposium on Interactive Ray Tracing 2006, Proceedings, 2006, : 57 - 60
  • [26] Parallel Randomized KD-tree Forest on GPU Cluster for Image Descriptor Matching
    Hu, Linjia
    Nooshabadi, Saeid
    Ahmadi, Majid
    2016 IEEE INTERNATIONAL SYMPOSIUM ON CIRCUITS AND SYSTEMS (ISCAS), 2016, : 582 - 585
  • [27] Performance Comparison of Bounding Volume Hierarchies and Kd-Trees for GPU Ray Tracing
    Vinkler, Marek
    Havran, Vlastimil
    Bittner, Jiri
    COMPUTER GRAPHICS FORUM, 2016, 35 (08) : 68 - 79
  • [28] Realtime ray tracing on GPU with BVH-based packet traversal
    Guenther, Johannes
    Popov, Stefan
    Seidel, Hans-Peter
    Slusallek, Philipp
    RT07: IEEE/EG SYMPOSIUM ON INTERACTIVE RAY TRACING 2007, 2007, : 113 - 118
  • [29] Fast Ray Sorting and Breadth-First Packet Traversal for GPU Ray Tracing
    Garanzha, Kirill
    Loop, Charles
    COMPUTER GRAPHICS FORUM, 2010, 29 (02) : 289 - 298
  • [30] Kd-tree Based N-Body Simulations with Volume-Mass Heuristic on the GPU
    Kofler, Klaus
    Steinhauser, Dominik
    Cosenza, Biagio
    Grasso, Ivan
    Schindler, Sabine
    Fahringer, Thomas
    PROCEEDINGS OF 2014 IEEE INTERNATIONAL PARALLEL & DISTRIBUTED PROCESSING SYMPOSIUM WORKSHOPS (IPDPSW), 2014, : 1257 - 1266