# Tag Info

7

First of all, a good reference for Monte Carlo path tracing in participating media is these course notes from Steve Marschner. The way I like to think about volume scattering is that a photon traveling through a medium has a certain probability per unit length of interacting (getting scattered or absorbed). As long as it doesn't interact, it just goes in a ...

6

What is wrong with it seems to be explained on the next two slides: it leads to non-energy-conserving results, where the apparent brightness of the volume changes depending on the scattering coefficient. My read of it is that the "wrong" integration code implicitly assumes a constant transmittance over the extent of each voxel. But the trouble is, when the ...

4

Ray marching is a ray tracing method where you take multiple steps along a ray to find intersection with geometry or to perform integration of in-scattered light from participating media (fog, clouds, water, etc.) along the ray. Signed distance fields doesn't really help you with participating media rendering since it's a method of finding the ray ...

1

This question is a bit too broad to answer, but I'll try. Right now you have a screenshot and you are not really sure whether it's correct or not, and if it turns out it is not, it will be difficult to know what is incorrect about it. I would recommend to split your problem into smaller, isolated, problems that can be validated separately. For example, is ...

1

For sampling a uniform volume you use the mean free path of a photon: float dt = -logf(1.0f - Xi) / uT; where: Xi is a random variable in [0, 1] uT is the extinction coefficient (sum of out-scattering and absorption) The pdf of a raytime (t) in this uniform volume is given by: float pdf = uT * expf(-t * uT); In your case, you do not have a uniform volume, ...

Only top voted, non community-wiki answers of a minimum length are eligible