Hello everyone, I'm really new in participating media rendering, experimenting around this last few weeks(here is my example of single scattering in homogeneous medium) and I'm encountered some problems.
I'm using inverse square law for light attenuation from point light sample, but this law is correct when light traced in vacuum, but when we have some media between scattering events and if this media scatters light, then we have both inscattering and outscattering. In my Single Scattering example I'm calculating scattering for nearest surface and inscattering for volumetric particle, but in shadowing part I have included only surfaces, this means that I'm ignoring outscattering phenomena and violating energy conservation. What is most common way to calculate outscattering correctly?
OutScattering problem
OutScattering problem
Colibri Renderer

 Posts: 75
 Joined: Sun Aug 19, 2012 3:24 pm
 Contact:
Re: OutScattering problem
Let's consider the eye point x0, the nearest surface point x1, the point sampled on a light source y0.
You mean your renderer samples a few points(xp) along x0x1 and connects xp and y0, add a contribution attenuated by the factors T(y0, xp) and T(xp, x0), followed by adding contribution from the surface scattering attenuated by the factors T(y0, x1) and T(x1, x0), right?
Outscattering effects are included as T (which consists of absorption and outscattering).
Single scattering only decreases energy gain (compared to full consideration of scattering) along a path, so I think it does not violate energy conservation.
You mean your renderer samples a few points(xp) along x0x1 and connects xp and y0, add a contribution attenuated by the factors T(y0, xp) and T(xp, x0), followed by adding contribution from the surface scattering attenuated by the factors T(y0, x1) and T(x1, x0), right?
Outscattering effects are included as T (which consists of absorption and outscattering).
Single scattering only decreases energy gain (compared to full consideration of scattering) along a path, so I think it does not violate energy conservation.
Re: OutScattering problem
You can also find a quite detailed explanation of the topic in PBRT book.
Re: OutScattering problem
energy conservation is definitely violated. Lets look at more clear example.shocker_0x15 wrote:Let's consider the eye point x0, the nearest surface point x1, the point sampled on a light source y0.
You mean your renderer samples a few points(xp) along x0x1 and connects xp and y0, add a contribution attenuated by the factors T(y0, xp) and T(xp, x0), followed by adding contribution from the surface scattering attenuated by the factors T(y0, x1) and T(x1, x0), right?
Outscattering effects are included as T (which consists of absorption and outscattering).
Single scattering only decreases energy gain (compared to full consideration of scattering) along a path, so I think it does not violate energy conservation.
for example we have some plate illuminated from top and we have some dense nonhomogeneous participating media(cloud) between light and plate, This case you must get shadow of this media on plate. Reason of shadow is actually outscattering because light coming from emitter is scattered on volume particle in different directions and couldn't received on plate.
In my example volumetric and surface shadows are caused only by surfaces which occludes light.
One way to detect volumetric occluders is ray marching but it's dependent on marching step and is biased.
Yeah, I will definitely look.Dade wrote:You can also find a quite detailed explanation of the topic in PBRT book.
Colibri Renderer

 Posts: 75
 Joined: Sun Aug 19, 2012 3:24 pm
 Contact:
Re: OutScattering problem
The paper for Residual Ratio Tracking will be a good reference for you.
http://drz.disneyresearch.com/~jnovak/p ... index.html
If you want to compute transmittance in inhomogeneous media in unbiased way, you can use Woodcock tracking. Furthermore, in the paper a better method RRTracking is proposed.
http://drz.disneyresearch.com/~jnovak/p ... index.html
If you want to compute transmittance in inhomogeneous media in unbiased way, you can use Woodcock tracking. Furthermore, in the paper a better method RRTracking is proposed.
Re: OutScattering problem
Thanks! It is exactly what I was looking forshocker_0x15 wrote:The paper for Residual Ratio Tracking will be a good reference for you.
http://drz.disneyresearch.com/~jnovak/p ... index.html
If you want to compute transmittance in inhomogeneous media in unbiased way, you can use Woodcock tracking. Furthermore, in the paper a better method RRTracking is proposed.
Colibri Renderer
Re: OutScattering problem
You may take a look at this,
http://www.cs.cornell.edu/Courses/cs663 ... olpath.pdf
if you are doing path tracing. But I don't see how you can "ignore" outscattering, since it does not contribute in the spherical integration of the radiative transfer equation, but only works for computing transmittance.
BTW, as far as I can see ratio/residual tracking is something for evaluating transmittance, but does it help when it comes to sampling distance for indirect illumination? It's vaguely put in the second part of section 5.2.
http://www.cs.cornell.edu/Courses/cs663 ... olpath.pdf
if you are doing path tracing. But I don't see how you can "ignore" outscattering, since it does not contribute in the spherical integration of the radiative transfer equation, but only works for computing transmittance.
BTW, as far as I can see ratio/residual tracking is something for evaluating transmittance, but does it help when it comes to sampling distance for indirect illumination? It's vaguely put in the second part of section 5.2.