Expand description
lux-aurumque — a minimal transient path tracer in Rust.
Standard renderers compute steady-state radiance (light bounced until equilibrium). This one refuses that simplification: every photon path carries its cumulative optical length, which determines its arrival time. Binning by arrival time produces a time-resolved movie of a Gaussian pulse propagating through a Cornell-box scene reskinned in aurum — gold, copper, amber.
§Run the demo render
Clone the repo and run:
cargo run --release -p lux-aurumque
ffmpeg -framerate 30 -i frames/frame_%04d.png \
-c:v libx264 -pix_fmt yuv420p -crf 18 lux-aurumque.mp4§Library use
The crate exposes the path-tracing primitives (transient,
camera, material, sphere, etc.) plus a re-export of
SpectralBudget — the Faber–Krahn bound that refuses parameter
combinations whose total path-length horizon would exceed 3 · T_1
for the bounded scene.
use lux_aurumque::{SpectralBudget, transient::C};
// 0.95 m room → T_1 ≈ 6.34 ns; admit up to 3·T_1 ≈ 19.0 ns.
let budget = SpectralBudget::for_scene_diameter(0.95, C as f64);
assert!(budget.admits(15e-9));
assert!(!budget.admits(25e-9));See NOTES_PROCESS.md in the repository for the process-philosophical
framing — Whitehead’s ontology mapped onto the renderer’s data flow.
Modules§
- camera
- Pinhole camera. Generates rays through pixels, with optional sub-pixel jitter.
- hit
- Hit records and the Hittable trait — the abstract interface every scene primitive must implement.
- material
- Materials: how a surface scatters or emits light.
- ray
- Ray primitive.
- scene
- A small demo scene: a Cornell-box-style room of large spheres approximating walls, plus a small sphere pulse-emitter near the ceiling and a diffuse sphere on the floor that the wavefront will sweep across.
- sphere
- Analytic sphere intersection.
- transient
- The transient core.
- vec3
- Vector aliases and small geometric utilities.
Structs§
- Spectral
Budget - A ceiling on the diameter a bounded sequential domain may reach before its becoming exceeds the principal eigenvalue of the underlying Laplacian.
Enums§
- Budget
Error - Failure modes of
SpectralBudget. TheDisplayimpl is informative enough to surface directly at a user-facing prompt.