Flexible Ray Traversal with an Extended Programming Model

By Won-Jong Lee, Karthik Vaidyanathan, and Gabor Liktor

Published:11/21/2019   Last Updated:11/21/2019

flexible control of scene hierarchies during transversal
Our programming model enables flexible control of scene hierarchies during traversal. Some example use cases are: distance based LOD with reflections and shadows (a-c), ray-type based LOD with ambient occlusion and diffuse rays(d-e), and multi-level instancing (f-g).


The availability of hardware-accelerated ray tracing in GPUs and standardized APIs has led to a rapid adoption of ray tracing in games. While these APIs allow programmable surface shading and intersections, most of the ray traversal is assumed to be fixed-function.

As a result, the implementation of per-instance Level-of-Detail (LOD) techniques is very limited. In this paper, we propose an extended programming model for ray tracing which includes an additional programmable stage called the traversal shader that enables procedural selection of acceleration structures for instances.

Using this programming model, we demonstrate multiple applications such as procedural multi-level instancing and stochastic LOD selection that can significantly reduce the bandwidth and memory footprint of ray tracing with no perceptible loss in image quality.

Research Area: Rendering, ray tracing, bounding volume hierarchy (BVH).


PDF: Flexible Ray Traversal with an Extended Programming Model (12.34 MB)
Video: Flexible Ray Traversal with an Extended Programming Model

Published in SIGGRAPH ASIA 2019

Product and Performance Information


Intel's compilers may or may not optimize to the same degree for non-Intel microprocessors for optimizations that are not unique to Intel microprocessors. These optimizations include SSE2, SSE3, and SSSE3 instruction sets and other optimizations. Intel does not guarantee the availability, functionality, or effectiveness of any optimization on microprocessors not manufactured by Intel. Microprocessor-dependent optimizations in this product are intended for use with Intel microprocessors. Certain optimizations not specific to Intel microarchitecture are reserved for Intel microprocessors. Please refer to the applicable product User and Reference Guides for more information regarding the specific instruction sets covered by this notice.

Notice revision #20110804