qestion regarding "A null-scattering path integral formulation of light transport"

Practical and theoretical implementation discussion.
Post Reply
gigacore
Posts: 2
Joined: Tue Mar 26, 2019 11:50 am

qestion regarding "A null-scattering path integral formulation of light transport"

Post by gigacore » Tue Apr 21, 2020 9:29 am

Hello guys,
I have experimenting with hetero volume pathtracing recently and trying to implement https://cs.dartmouth.edu/~wjarosz/publications/miller19null.html
I started with pure scattering volume , some density in the center of larger volume box( so, many empty areas ). I have matched results with the reference delta-tracker in monochromatic case, however, spectral (RGB actually) version has issues:

https://i.gyazo.com/32dd6d8a42fc54601e2cd62d28185634.png (volume box)
https://i.gyazo.com/3ddf9e9183cd84d54f260f981c2ff200.png (monochrome pure scattering)
https://i.gyazo.com/9bf4f2f997d62366a01058836f54e57c.png ( problematic chromatic pure scattering)

In the last problematic case, i set up my RGB majorant (combined extinction) to somewhat red color dominant value (density in the volume is restricted to [0,1]), and got that weird red filled air.
Once new position x is outside of the volbox, I used the same return value expression as on absorption event : return EnvironmentValue * f / ((p.r + p.g + p.b) / 3)
As i can see from the algorithm

https://i.gyazo.com/c2e70967e1a2c674ca5be5695a0ae57d.png

those air zones without density will be always null-scattered until ray gets outside the box, but according to line 9 and 10 the null Un which equals to Umajorant in the absense of Uabs and Uscatt will influence subpath contribution and pdf, these f and p perfectly cancels each other in the monochromatic case, but when dealing with color case, the average of p is no more red-dominant and cant compensate too much for f . I am sure i got something wrong from the above derivations , but cant understand what exactly.

Just for clarity: i assume p and f is rgb values which gets multiplied each subpath with itself, with T (transmittance with subpath length t and Umajorant rgb extinction) and with rgb extinction sampled from volume (abs, scatt or null selected when the event type is choosen).
And this also produces a one more issue, once i went with scattering/null/abs coeff above 1, p and f will quickly raised so high that float32bit value is not enough to cover (something like 100 bounces and i got INF)

Could anyone advise in the right direction ? ( i have contacted directly with authors but they are busy at the moment and suggest to ask here)
Thanks.

dawelter
Posts: 51
Joined: Sun Oct 29, 2017 3:15 pm
Location: Germany

Re: qestion regarding "A null-scattering path integral formulation of light transport"

Post by dawelter » Fri May 08, 2020 7:07 am

Hi!

Nice paper you found there. I try to answer because I may attempt to implement this for my renderer, too.

It's just a wild guess, but the authors omitted from algorithm 1 what happens when the particle hits a surface. In Eq (9) there is the last term T(x,z)L^s(z,w) which adds the light from the surface. In regular tracking T cancels out with the probability to not scatter in front of the surface. I think in the MIS algorithm the terms do not cancel so they should be present.

Moreover, my gut feeling says maybe something is wrong where the "hero wavelength" is picked. Because for the "hero wavelength MIS scheme" Wilkie et al. [2014] to work one would have to trace one path distributed according to the pdf for red, one according to green, and so on. It is my understanding that only the combined estimator will result in "clean" air.

Please let us know any tips the Authors share. I'm very interested, too.

Best regards

gigacore
Posts: 2
Joined: Tue Mar 26, 2019 11:50 am

Re: qestion regarding "A null-scattering path integral formulation of light transport"

Post by gigacore » Tue May 26, 2020 2:28 pm

thank for the suggestions, dawelter.
Didnt notice that my question is posted and now i am also unable to reach the site witout vpn somehow..
Anyway, just found this tech report (didnt read in details yet):
[url] https://github.com/honzukka/null-scattering [/url]
also, there is a link to author's pbrt code for that paper:
[url]https://github.com/baileymiller/nullpath/blob/master/pbrtv3/src/integrators/nullpath.cpp[/url]
i will check it out myself a bit later , please share any thoughs if it will shed some light :)
cheers

Post Reply