This repo contains the source code for our paper Photon-Driven Neural Radiance Caching. The framework is forked from Falcor, see there for installation instructions. Because the code uses tiny-cuda-nn and heavily utilizes raytracing and tensor hardware, a recent NVIDIA GPU is required to run it.
We provide various custom render passes for Neural Radiance Caching, Photon Mapping and the combination of both:
| Pass | Description |
|---|---|
| AccumulatePhotonsRTX | Uses hardware accelerated BVH traversal and stochastic reservoirs to perform high performance inverse radius search for photon mapping. More details in the linked paper; Based on Kern et al. |
| DebugQueryBuffer | Writes query position/normal/etc from a buffer to a texture for debugging purposes. |
| NRC | Takes a buffer with inference and training queries and performs the online update and inference step of the Neural Radiance Cache. Based on tiny-cuda-nn |
| PathTracerQuery | A tweaked version of PathTracer that allows for multisampling and storing into buffers |
| QuerySubsampling | Draws a random subsample of a query buffer to be used for training; Also handles query caching. |
| TracePhotons | Traces photons from light sources and emits photon position/normal/etc into a buffer. |
| TraceQueries | Traces queries from the camer and emits query position/normal/etc into a buffer. |
| VisualizePhotons | Visualizes photons as pixels for debug purposes |
| VisualizeQueries | Visualizes photon queries as disk for debug purposes |
The benchmarks from the paper are implemented in Source/Testbeds/PhotonNRCPaper.cpp. We also provide a Mogwai script for running the different NRC flavors.
Code was developed and tested on Linux on an RTX 5070 Ti.
If you build on this repo in your research, please cite our paper. The BibTex entry is
@inproceedings{stamm2026photon,
author = {Stamm, Julian C. and Kneiphof, Tom and Klein, Reinhard},
title = {Photon-Driven Neural Radiance Caching},
booktitle = {Companion Proceedings of the Symposium on Interactive 3D Graphics and Games (I3D Companion '26)},
year = {2026},
month = {5},
pages = {3},
publisher = {Association for Computing Machinery},
address = {New York, NY, USA},
doi = {10.1145/3807895.3807923},
isbn = {979-8-4007-2667-5/2026/05},
location = {San Francisco, CA, USA},
keywords = {real-time, global illumination, radiance caching, photon mapping}
}