Project: Volumetric Precomputed Radiance Transfer (PRT) Date: February 10, 2026
My project implements a Volumetric Self-Transfer system inspired by Sloan et al.’s Precomputed Radiance Transfer (PRT). The goal is to achieve real-time relighting of participating media, specifically clouds or fog, under dynamic HDR environment maps. By decoupling light transport from the lighting environment, the expensive computation of volumetric self-shadowing is moved to an offline precomputation phase, enabling interactive lighting exploration at runtime.
I have implemented a GPU-based ray marcher within a fragment shader. The volume is defined by an analytic ellipsoid Signed Distance Function (SDF) with an exponential falloff to simulate a realistic “fuzzy” boundary. Light attenuation is calculated via the Beer-Lambert Law.
To represent the infinite lighting of an HDR environment map, I utilize Spherical Harmonics (SH).
HDR Environment Map 1 for wooden studio:

SH Projection 1:

HDR Environment Map 2 for meadow:

SH Projection 2:

The core of the project involves precomputing a Transfer Function $T(p, \omega)$ for every voxel in a $64^3$ grid.
Self shadowing map:

Simple PRT:
Meadow:

Studio:

The system is currently fully interactive using ImGui. Any HDR-derived JSON file in the assets folder can be loaded at runtime to instantly change the lighting environment. I have also implemented debug modes to view the raw Transfer DC (self-shadow map) and PRT Raw (un-normalized) to verify the integrity of the 3D texture data.
For the next phase, I plan to move beyond simple spheres to create realistic cloud and fog shapes using procedural noise. This will “carve” high-frequency details into the volume while still using my precomputed transfer data to keep rendering fast. I also intend to upgrade the lighting from static images to EXR sequences (like a sunset time-lapse).
In the final stage, I also want to evaluate the trade-offs between voxel resolution and memory overhead by comparing $32^3$, $64^3$, and $128^3$ transfer grids. I also plan to conduct an SH order analysis to determine if 9 coefficients are sufficient for “peaked” lighting, such as sunsets, or if higher-order representations are required to capture sharper directional shadows.