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
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.

Cheers

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
atmosphere_fisheye1.jpg (61.03 KiB) Viewed 1016 times

atmosphere_fisheye2.jpg
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
solarspectrum10bins.png (14.11 KiB) Viewed 1016 times


EDIT:
Yeah that looks better!
https://www.dropbox.com/s/0jjsmpi5jvfmi ... 3.jpg?dl=0
https://www.dropbox.com/s/nh80qd93qnbje ... 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: https://github.com/DaWelter/ToyTrace/bl ... 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
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
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
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
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
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
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 :)