Spectral PathTracer
A personal CUDA project for exploring wavelength-sampled light transport, dispersion and spectral-to-display color conversion.
IMPLEMENTED
- Spectral wavelength sampling
- Wavelength-dependent refraction
- CUDA path tracing
- Spectral-to-display color conversion
- Diffuse, emissive and dielectric materials
VALIDATION
Validation currently combines focused automated tests with three renderer scenes. The repository does not publish an external reference-renderer comparison or a complete benchmark table.
- Test scenes used
- Cornell Box with measured Cornell spectra and a dispersive prism, an exterior prism showcase and a material showcase.
- Reference or expected values
- No external reference renderer is documented. Tests check selected CIE response, measured Cornell spectral values, neutral reflectance, flint-glass IOR ordering, total internal reflection and geometric intersections.
- Default render configuration
- 800 × 800 pixels, 512 samples per pixel, 25 wavelength samples and a maximum path depth of 15. These are source defaults and can be overridden from the command line.
- Published render resolution
- The three latest preview PNGs committed to the repository are 384 × 384 pixels. Their exact samples-per-pixel setting is not recorded alongside the files.
- GPU model
- Not recorded in the repository.
- Render time
- Not published. The executable measures and prints elapsed time for each run, but no captured result is committed.
- Known limitations
- No BVH, texture mapping, volumetric scattering, bidirectional path tracing, model import, denoising or interactive preview is currently documented as implemented.
TRANSFERABLE SKILLS
GPU debugging, numerical validation, renderer architecture, performance profiling and physically-based lighting knowledge.
What I learned
I learned to separate spectral transport from the conversion needed for display. Small test scenes made dispersion and material behavior easier to verify. CUDA performance work was most useful when paired with clear visual checks.
Credits and confidentiality
- Production
- Personal R&D project
- Role
- Project creator — renderer architecture, CUDA and C++ implementation
- Work by others
- CUDA, CMake and the compiler toolchain are third-party technologies. No third-party production artwork is shown.
- Confidentiality
- No NDA. The source code is public on GitHub.