Ray Accelerator: Efficient and Flexible Ray Tracing on a Heterogeneous Architecture

R. Barringer, M. Andersson, T. Akenine-Möller

Research output: Contribution to journalArticlepeer-review


We present a hybrid ray tracing system, where the work is divided between the CPU cores and the GPU in an integrated chip, and communication occurs via shared memory. Rays are organized in large packets that can be distributed among the two units as needed. Testing visibility between rays and the scene is mostly performed using an optimized kernel on the GPU, but the CPU can help as necessary. The CPU cores typically handle most or all shading, which makes it easy to support complex appearances. For efficiency, the CPU cores shade whole batches of rays by sorting them on material and shading each material using a vectorized kernel. In addition, we introduce a method to support light paths with arbitrary recursion, such as multiple recursive Whitted-style ray tracing and adaptive sampling where the result of a ray is examined before sending the next, while still batching up rays for the benefit of GPU-accelerated traversal and vectorized shading. This allows our system to achieve high rendering performance while maintaining the flexibility to accommodate different rendering algorithms.

Original languageEnglish
Pages (from-to)166-177
JournalComputer Graphics Forum
Issue number8
Early online date2016 Oct 28
Publication statusPublished - 2017 Dec

Subject classification (UKÄ)

  • Computer Science


  • Graphics hardware
  • Hardware
  • I.3.2 [Computer Graphics]: Graphics Systems-
  • I.3.7 [Computer Graphics]: Three-Dimensional Graphics and Realism-Ray tracing
  • Ray tracing
  • Rendering
  • Rendering systems


Dive into the research topics of 'Ray Accelerator: Efficient and Flexible Ray Tracing on a Heterogeneous Architecture'. Together they form a unique fingerprint.

Cite this