tauray

2 minute read

Published:

At the time of writing this (October, 2025), there are limited publicly available rendering engine that works for real-time stereo path tracing. The slow convergence with pixel dense display in VR is limiting real-time stereo path tracer. However, with the RT-core and GPU architecture improvements, I am noticing the recent trend of physically accurate light simulation in real-time rendering, e.g., games. Therefore, definitely with time, the real-time stereo path-tracing (and with other advanced global illumination algorithms) would be a real thing once we will overcome frame-rate constraint. Physically-accurate light simulation will minimized the difference between real and virtual world and extend the path of true immersion. Currently, 90 fps has become a golden standard for VR. However, the higher is the better for immersion.

So, I am talking about already developed real-time stereo path tracer that is publicly available for developers and researchers. The options are very limited due to the slow convergence. To the best of my knowledge, there is Ray VR from Vinicius Silva associate with the publication RAY-VR: RAY TRACING VIRTUAL REALITY IN FALCOR. There is another publication Accelerated Stereo Rendering with Hybrid Reprojection-Based Rasterization and Adaptive Ray-Tracing from Niko Wißmann et al.. I believe the codebase called AcceleratedStereoscopicRendering. Both of these codebases are based on the older version of NVidia’s Falcor framework, either 3.2.1 or 3.2.2. These were the last versions had OpenVR support. Meanwhile the OpenVR has been deprecated, as well as the latest Falcor has removed the VR support. Moreover, these repositories are not well mentioned.

On the other hand, tauray is from the Virtual reality and Graphics Architectures (VGA) group, Tampere University. The group has long tradition of cutting edge real-time path tracing research. The codebase is regularly updated. tauray is mostly focused on the multi-view display, i.e., light field display. Besides, there are rasterization, path tracing algorithm. Additionally, the lastest ReSTIR DI and DDISH-GI is also included as bonus. However, the ReSTIR implementation does not currently reuse between viewports. It means, both views have separate reservoirs and don’t reuse between each other.

Tauray is a clean, well-structured C++17/Vulkan real-time renderer with ray tracing (KHR RT), solid abstraction layers (device/context, stages/pipelines, G-buffer), multi-GPU strip distribution, OpenXR/Looking-Glass displays, and built-in denoisers (SVGF, BMFR). Overall: production-quality foundations with room for small ergonomics, performance, and XR/foveation upgrades.

Building

Tauray development is Ubuntu focused. The building instruction for Ubuntu is pretty straight forward (See Building). Working with Windows OS is also possible without the multi-GPU rendering feature. I have tried with Windows 10. Here is a bit details about the building process:

  • VCPKG libraries
    cd C:\vcpkg
    vcpkg install sdl2[vulkan] glm czmq nng libcbor assimp vulkan openxr-loader
    vcpkg integrate install
    
  • build
    mkdir build
    cd build
    cmake .. -DCMAKE_TOOLCHAIN_FILE=C:\vcpkg\scripts\buildsystems\vcpkg.cmake -G "Visual Studio 17 2022" -A x64
    
  • run
cd ..\
//--renderer=path-tracer --display=openxr
.\build\Debug\tauray .\test\test.glb --display=openxr --renderer=path-tracer
// with env-map
.\build\Release\tauray.exe test\test.glb --display=openxr --renderer=path-tracer --envmap=hdr\test.hdr

(work in progress…)