Page 4 of 4

Re: My little path tracer

Posted: Wed Mar 04, 2020 7:56 pm
by dawelter
Another over-night render. Much better this time.
torus_in_cube.jpg
torus_in_cube.jpg (143.2 KiB) Viewed 1411 times
I switched to mixtures of Von Mises Fisher distributions and implemented tricks from the "Path Guiding in Production" paper (stochastic filtering and troughput clamping). Together with some parameter tweaking, this helped. Now I can start working on the guiding algo for volume rendering. :-)

Re: My little path tracer

Posted: Tue Mar 10, 2020 8:48 am
by koiava
That looks gorgeous. I'm wondering what would be a memory requirements of those additional data for more or less realistic production scene.
Did you also implemented sample weighting described in that paper?

Re: My little path tracer

Posted: Sat Mar 14, 2020 2:48 pm
by dawelter
Thanks :-)

I wasn't very much concerned with memory so far. However, I can tell that this scene uses 2k cells or so. Each of which has to store the coefficients for two mixtures - plus some statistics for the EM algorithm. To be frank, I haven't tested the algorithm on much else than this one scene ... It's still pretty much work in progress.

And regarding the weighting - you mean in the expectance maximization? Yes, I absolutely needed that because I only do forward path tracing. Hence, initially the distribution from which directions are sampled has nothing to do with the actual distribution of incident light. If you want to see the code, it's pretty terrible, but take a look if you like https://github.com/DaWelter/ToyTrace/blob/master/src/distribution_mixture_models.cxx#L407

Edit: Obligatory cornelbox with water. This one is unfortunate as my (poor) implementation of brute force path tracing (but still with NEE) beats my (also poor) implementation of the guided algorithm in an equal-time rendering. The guided algorithm seems more sample-efficient though.
cornelbox_water.jpg
cornelbox_water.jpg (267.92 KiB) Viewed 582 times
P.S. A cell containing the mixtures and other stuff takes about 1.1kB.