RENDERING RESEARCH PROJECT

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.
Cornell Box render with a dispersive prism
Cornell Box and dispersive prism
Exterior render of a glass prism
Exterior prism showcase
Spectral renderer material showcase
Material showcase

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.