## Out-Scattering problem

Practical and theoretical implementation discussion.
koiava
Posts: 49
Joined: Thu Apr 24, 2014 8:18 am
Location: Tbilisi, Georgia
Contact:

### Out-Scattering problem

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 in-scattering and out-scattering. In my Single Scattering example I'm calculating scattering for nearest surface and in-scattering for volumetric particle, but in shadowing part I have included only surfaces, this means that I'm ignoring out-scattering phenomena and violating energy conservation. What is most common way to calculate out-scattering correctly?

shocker_0x15
Posts: 75
Joined: Sun Aug 19, 2012 3:24 pm
Contact:

### Re: Out-Scattering 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?

Out-scattering effects are included as T (which consists of absorption and out-scattering).
Single scattering only decreases energy gain (compared to full consideration of scattering) along a path, so I think it does not violate energy conservation.

Posts: 206
Joined: Fri Dec 02, 2011 8:00 am

### Re: Out-Scattering problem

You can also find a quite detailed explanation of the topic in PBRT book.

koiava
Posts: 49
Joined: Thu Apr 24, 2014 8:18 am
Location: Tbilisi, Georgia
Contact:

### Re: Out-Scattering problem

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?

Out-scattering effects are included as T (which consists of absorption and out-scattering).
Single scattering only decreases energy gain (compared to full consideration of scattering) along a path, so I think it does not violate energy conservation.
energy conservation is definitely violated. Lets look at more clear example.
for example we have some plate illuminated from top and we have some dense non-homogeneous participating media(cloud) between light and plate, This case you must get shadow of this media on plate. Reason of shadow is actually out-scattering 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.
Dade wrote:You can also find a quite detailed explanation of the topic in PBRT book.
Yeah, I will definitely look.

shocker_0x15
Posts: 75
Joined: Sun Aug 19, 2012 3:24 pm
Contact:

### Re: Out-Scattering 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 in-homogeneous media in unbiased way, you can use Woodcock tracking. Furthermore, in the paper a better method RRTracking is proposed.

koiava
Posts: 49
Joined: Thu Apr 24, 2014 8:18 am
Location: Tbilisi, Georgia
Contact:

### Re: Out-Scattering problem

shocker_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 in-homogeneous media in unbiased way, you can use Woodcock tracking. Furthermore, in the paper a better method RRTracking is proposed.
Thanks! It is exactly what I was looking for