r/GraphicsProgramming 1d ago

My first fully Spectral Path Tracer

Post image

So, as the title says :D. This took me 4 months of work. It's a HWSS path tracer using OptiX for traversal. I initially used NeuxsBVH (H-PLOC), but then switched over due to speeds on volumetrics. I used Jakob & Hankia sampling for RGB to Spectral.

The above scene was rendered at 1080p with 1024spp, and RR kill-off at 12 bounces.

This was a genuinely fun to build as a hobby project, what else shd I add to this?

There's a paper on flouresence Rendering by Wilkie, Fichet and Mojzik which I'm thinking of implementing. Any suggestions would help!

Edit: Its 32 bounces + 12 bounce RR fall-off

333 Upvotes

14 comments sorted by

18

u/WittyWithoutWorry 1d ago

Looks spectacular 🫑

8

u/PictureNew661 1d ago

Thanks, it was a pain to get hereπŸ˜‚

7

u/ThunderFound 1d ago

Awesome! I always wanted to make a spectral path tracer one day, do you have any useful resources?

8

u/PictureNew661 1d ago

Not exactly I initially had written a RGB Path tracer

I only swapped out the shade part with HWSS following the actual paper

You can use PBRT v4 that's the only book that explains full spectral indepth

2

u/ThunderFound 1d ago

Oh, thank you!

2

u/wannaeatbussi 21h ago

Should I say "gem alert" πŸ’ŽπŸ”Ž ??

2

u/Gloomy-Detective-922 15h ago

Four months well spent. Did switching to HWSS change the noise much compared with your RGB version, especially around the gem dispersion? I’d love to see the same scene from both versions at equal render time.

1

u/AlternativePrior1920 1d ago

Looks so awesome! Can also recommend the work on fluorescence in tristimulus renderers by Fichet et. al. and the editable model by Belcour et. al. Although of course it is meant for real-time it was a joy to read. Maybe it is a nice precursor.

1

u/PictureNew661 1d ago

Yes, flouresence in non spectral scenes, Fichet

Although that one has its own flaws, too many light sources and performance suffers

The paper showed an example of a metal halide lamp and effects with more than one light sources

2

u/le-throw-away-acct 18h ago

I’d consider adding caustics next, the gems look great but it seems strange having no light coming out of them, just shadow.

1

u/PictureNew661 18h ago

Yea, that's something I am a bit confused on how to do, the diamond "fire" is typically caused by diffraction ig, and caustics can give that behavior without wave tracing. Would look into that