Realtime Ray Tracing on GPU with BVH-based Packet Traversal

Johannes Günther, Stefan Popov, Hans-Peter Seidel, and Philipp Slusallek

Teaser 1 Teaser 2 Teaser 3 Teaser 4


Re­cent GPU ray trac­ers can al­ready achieve per­for­mance com­pet­i­tive to that of their CPU coun­ter­parts. Nev­er­the­less, these sys­tems can not yet fully ex­ploit the ca­pa­bil­i­ties of mod­ern GPUs and can only han­dle medium­sized, static scenes.

In this pa­per we present a BVH­based GPU ray tracer with a par­al­lel packet traver­sal al­go­rithm us­ing a shared stack. We also present a fast, CPU­based BVH con­struc­tion al­go­rithm which very ac­cu­rately ap­prox­i­mates the sur­face area heuris­tic us­ing streamed bin­ning while still be­ing one or­der of mag­ni­tude faster than pre­vi­ously pub­lished re­sults. Fur­ther­more, us­ing a BVH al­lows us to push the size limit of sup­ported scenes on the GPU: We can now ray trace the 12.7 mil­lion tri­an­gle Power Plant at 1024×1024 im­age res­o­lu­tion with 3 fps, in­clud­ing shad­ing and shad­ows.


6 pages
1800 kb

bibtex entry

Valid XHTML 1.0 Transitional