glow is a real-time spectral path tracer that implements the SIGGRAPH 2025 paper Modeling and Rendering Glow Discharge. Emission is prescribed solely through glow discharge volumes, defined either procedurally or through a collection of curves.
This implementation deviates slightly from that of the original paper, and adds some bells and whistles. Please see deviations.pdf for details.
The basic dependencies for glow are a Vulkan-compatible device that supports ray queries, Python, and uv. Running the viewer requires passing a scene file to the program.
uv run -m glow <scene file>
Sample scenes are provided in scenes/. The teaser image above corresponds to the following:
uv run python -m glow scenes/double-helix.xml
In the viewer, use tab to cycle between beauty, density, and active region views, r to reset the camera, space to play/pause dynamic scenes, and s to take screenshots.
Several properties can be tweaked in the viewer; these properties can be serialized by pressing c, which generates a configuration in scenes/configs. They can then be reloaded as follows:
uv run python -m glow scenes/siggraph.xml --config scenes/configs/siggraph.json