Page 1 of 1

My little path tracer

Posted: Sat Dec 09, 2017 8:39 am
by dawelter
This came out of my path tracer.
cornelbox3.jpg (161.07 KiB) Viewed 1059 times

Unfortunately convergence stagnated after some 10k samples per pixel. Not unexpected since it is a difficult scene. Lit by two point lights through the holes in the ceiling. I haven't implemented area lights. The medium has chromatic collision coefficients with high scattering for blue wavelengths.


Re: My little path tracer

Posted: Mon Dec 11, 2017 12:42 pm
by dawelter
Trying to reproduce results from Peter Kutz's Sky Render.
Using 10 discrete wavelengths, no ozone, purely exponential density decrease. Something is wrong. Much too greenish for my taste.
atmosphere_fisheye1.jpg (61.03 KiB) Viewed 1016 times

atmosphere_fisheye2.jpg (46.42 KiB) Viewed 1016 times

My approximation to the solar emission spectrum might be inadequate in the blue wavelengths :roll:
solarspectrum10bins.png (14.11 KiB) Viewed 1016 times

Yeah that looks better! ... 3.jpg?dl=0 ... 4.jpg?dl=0

I changed two things at once: 36 bins instead of 10. sRGB output instead of CIE RGB 1931 because if I tell CIMG to write jpg it is probably going to be interpreted as sRGB.

Because I need RGB to spectrum conversions, I implemented the way of Smits (1999) but with more bins (kind of). The code is easily adaptable. I put it up on github: ... sWay.ipynb

Re: My little path tracer

Posted: Sat Jan 20, 2018 2:05 pm
by dawelter
Been working on my path tracer. Implemented table lookup for the height profile of collision coefficients. After some more work I could reproduce the blueness of the evening sky due to absorption by ozone.
atmosphere_fisheye_ozone_compare.jpg (473.17 KiB) Viewed 756 times

Now there is support for area lights - in the form of triangles and spheres. Before, it supported only point lights and distant directional lights. Implemented MIS weighting for light vs. BRDF sampling.
arealights.jpg (453.05 KiB) Viewed 756 times

Quick test rendering with clouds went super slow. The ground is not a plane but a huge sphere. Thus the geometry is extremely inhomogeneously distributed. And my naive Kd-tree cannot cope with it.
atmosphere_cloudy.jpg (65.41 KiB) Viewed 756 times

Re: My little path tracer

Posted: Tue Feb 06, 2018 11:21 am
by koiava
Really good results :)

Re: My little path tracer

Posted: Wed Feb 07, 2018 7:56 am
by dawelter
Thank you!

Meanwhile I have a better pic. Something about the clouds strikes me as odd. Still a nice second try if you ask me. :-)
atmosphere_cloudy.jpg (776.3 KiB) Viewed 421 times

To test my algorithms needed a material that has a "delta peak" plus a continuous density, so I implemented a dielectric material with a perfectly specular reflective layer. I followed a publication by Kelemen and Kalos (2001) to obtain a symmetric brdf which goes to fully specular towards grazing angles. The result:
material_test_scene.jpg (323.38 KiB) Viewed 421 times

Re: My little path tracer

Posted: Thu Feb 22, 2018 8:44 am
by dawelter
Bidirectional path tracing! The first correct image! Well, as far as I can tell ;)
cornelbox5.jpg (351.36 KiB) Viewed 130 times

High variance at 128 bidirectional random walks per pixel. Paths are weighted by one over the number of techniques that can generate the path. Implementation of MIS pending ...

Re: My little path tracer

Posted: Thu Feb 22, 2018 2:55 pm
by graphicsMan
Nice :)