Visionaray: A Cross-Platform Ray Tracing Template Library

  title={Visionaray: A Cross-Platform Ray Tracing Template Library},
  author={Stefan Zellmann and Daniel Wickeroth and Ulrich Lang},
  journal={2017 IEEE 10th Workshop on Software Engineering and Architectures for Realtime Interactive Systems (SEARIS)},
We present the software architecture of the C++ ray tracing template library Visionaray, which provides generic algorithms and data structures as building blocks for applications that traverse rays through 3-D space. While many state of the art ray tracing libraries are vendor specific and focus only on acceleration data structure traversal, Visionaray is cross platform compatible and implements several ray tracing-related tasks such as parallel ray generation, shading, Monte Carlo integration… 
Adding Custom Intersectors to the C++ Ray Tracing Template Library Visionaray
This work presents an implementation of this “custom intersector” approach and its integration into the C++ ray tracing template library Visionaray.
High-Quality Rendering of Glyphs Using Hardware-Accelerated Ray Tracing
This paper investigates the use of hardware ray tracing for high-quality, highperformance glyph rendering, and shows that this not only leads to a more flexible and often more elegant solution for dealing with number and shape of glyphs, but that this can also help address visual clutter, and even provide additional visual cues that can enhance understanding of the dataset.
Rodent: generating renderers without writing a generator
A framework that allows generating entire renderers for CPUs and GPUs without having to write a dedicated compiler is presented, and the results show that the renderers the authors generate outperform equivalent high-performance implementations written with state-of-the-art ray tracing libraries on the CPU and GPU.
C++ Compile Time Polymorphism for Ray Tracing
This paper proposes C++ compile time polymorphism as an alternative optimization strategy that does on its own not reduce branching, but that can be used to write highly expressive code without sacrificing optimization potential such as early binding or inlining of tiny functions.
Finding Efficient Spatial Distributions for Massively Instanced 3-d Models
A k-d tree construction algorithm that balances these two opposing goals and evaluates the scene distribution approach using publicly available instanced 3-d models like Disney’s Moana Island Scene.
Comparing Hierarchical Data Structures for Sparse Volume Rendering with Empty Space Skipping
This paper presents performance comparisons for several empty space skipping data structures to determine if a trade-off between construction and rendering performance of hierarchical data structures also exists for volume rendering with uniform data topologies.


OptiX: a general purpose ray tracing engine
The NVIDIA® OptiX™ ray tracing engine is a programmable system designed for NVIDIA GPUs and other highly parallel architectures. The OptiX engine builds on the key observation that most ray tracing
RTfact: Generic concepts for flexible and high performance ray tracing
RT-fact is a template library consisting of packet-centric components combined into an efficient ray tracing framework that allows for easy integration of new algorithms with maximum run-time performance, while leveraging as much of the existing code base as possible.
Distributed interactive ray tracing of dynamic scenes
This work presents a simple and practical method that allows to interactively ray trace dynamic scenes in a distributed PC cluster environment and presents performance and scalability results of the system using a variety of test scenes stressing a wide range of dynamic behaviour.
Ray Traced Volume Clipping Using Multi-Hit BVH Traversal
A SIMD-friendly clipping algorithm for ray traced direct volume rendering that is compatible with arbitrary geometric surface primitives ranging from mere planes over quadric surfaces such as spheres to general triangle meshes is presented.
Embree: a kernel framework for efficient CPU ray tracing
The design goals and software architecture of Embree are described, and it is shown that for secondary rays in particular, the performance is competitive with (and often higher than) existing state-of-the-art methods on CPUs and GPUs.
Physically Based Rendering: From Theory to Implementation
Physically Based Rendering: From Theory to Implementation, Third Edition, describes both the mathematical theory behind a modern photorealistic rendering system and its practical implementation through a method known as 'literate programming', which serves as an essential resource on physically-based rendering.
Interactive Distributed Ray Tracing of Highly Complex Models
This paper shows that using a highly optimized software ray tracer the necessary preprocessing has been greatly simplified and accelerated by more than two orders of magnitude and interactive rendering performance for models up to 50 million triangles including reflection and shadow computations is achieved.
Realtime Ray Tracing on GPU with BVH-based Packet Traversal
This paper presents a BVH-based GPU ray tracer with a parallel packet traversal algorithm using a shared stack, and presents a fast, CPU-based BvH construction algorithm which very accurately approximates the surface area heuristic using streamed binning while still being one order of magnitude faster than previously published results.
Report from the chair
A highly optimized implementation of a ray tracer that improves performance by more than an order of magnitude compared to currently available ray tracers is presented and it is shown that this software implementation can challenge and even outperform high-end graphics hardware in interactive rendering performance for complex environments.
Understanding the efficiency of ray traversal on GPUs
A simple solution is proposed that significantly narrows the gap between simulation and measurement, and results in the fastest GPU ray tracer to date.