CHC+RT: Coherent Hierarchical Culling for Ray Tracing

Oliver Mattausch, Jiří Bittner, Alberto Jaspe, Enrico Gobbetti, Michael Wimmer, Renato Pajarola
CHC+RT: Coherent Hierarchical Culling for Ray Tracing
Computer Graphics Forum, 34(2):537-548, May 2015. [draft]

Information

Abstract

We propose a new technique for in-core and out-of-core GPU ray tracing using a generalization of hierarchical occlusion culling in the style of the CHC++ method. Our method exploits the rasterization pipeline and hardware occlusion queries in order to create coherent batches of work for localized shader-based ray tracing kernels. By combining hierarchies in both ray space and object space, the method is able to share intermediate traversal results among multiple rays. We exploit temporal coherence among similar ray sets between frames and also within the given frame. A suitable management of the current visibility state makes it possible to benefit from occlusion culling for less coherent ray types like diffuse reflections. Since large scenes are still a challenge for modern GPU ray tracers, our method is most useful for scenes with medium to high complexity, especially since our method inherently supports ray tracing highly complex scenes that do not fit in GPU memory. For in-core scenes our method is comparable to CUDA ray tracing and performs up to 5.94 × better than pure shader-based ray tracing.

Additional Files and Images

Additional images and videos

Additional files

Weblinks

BibTeX

@article{MATTAUSCH-2015-CHCRT,
  title =      "CHC+RT: Coherent Hierarchical Culling for Ray Tracing",
  author =     "Oliver Mattausch and Ji\v{r}\'{i} Bittner and Alberto Jaspe
               and Enrico Gobbetti and Michael Wimmer and Renato Pajarola",
  year =       "2015",
  abstract =   "We propose a new technique for in-core and out-of-core GPU
               ray tracing using a generalization of hierarchical occlusion
               culling in the style of the CHC++ method. Our method
               exploits the rasterization pipeline and hardware occlusion
               queries in order to create coherent batches of work for
               localized shader-based ray tracing kernels. By combining
               hierarchies in both ray space and object space, the method
               is able to share intermediate traversal results among
               multiple rays. We exploit temporal coherence among similar
               ray sets between frames and also within the given frame. A
               suitable management of the current visibility state makes it
               possible to benefit from occlusion culling for less coherent
               ray types like diffuse reflections. Since large scenes are
               still a challenge for modern GPU ray tracers, our method is
               most useful for scenes with medium to high complexity,
               especially since our method inherently supports ray tracing
               highly complex scenes that do not fit in GPU memory. For
               in-core scenes our method is comparable to CUDA ray tracing
               and performs up to 5.94 × better than pure shader-based ray
               tracing.",
  month =      may,
  issn =       "1467-8659",
  journal =    "Computer Graphics Forum",
  number =     "2",
  volume =     "34",
  pages =      "537--548",
  keywords =   "occlusion culling, ray tracing",
  URL =        "https://www.cg.tuwien.ac.at/research/publications/2015/MATTAUSCH-2015-CHCRT/",
}