I would like to add full monte-carlo volumetric scattering to my path tracer, but I'm having a hard time researching how to do it. Let me explain what I would like to do: A ray enters a material, and we apply the BTDF, then after some distance, a volumetric scattering event happens, after which (in the isotropic case), the ray scatters in any direction in the sphere. This repeats until the ray exits the material with another BTDF.
My questions are as follows:
- How do I choose the distance between scatter events? Intuition tells me there should be some kind of scatter pdf, which gives the probability to scatter after a certain distance?
- Would this be correct?
- Would the pdf be a linear function for isotropic materials?
- Does this function have a name or something I can Google?
- Would Beer-Lambert still apply between scatter events?
- I would think not. Since Beer-Lambert is a simplification of actual scattering calculations.
- Then again, perhaps Beer-Lambert is a calculation at the micro scale, and path tracing is on a macro scale.
- What is the volumetric equivalent to a BSDF? It looks like I can use a phase function such as Henyey-Greenstein to determine the new direction, but what do I use for attenuation?
- Lastly, what are some better Google phrases for Monte-Carlo volumetric scattering?
- Searching volumetric scattering, or SSS, ends up giving papers, methods, and blog posts about the simplfications of full Monte-Carlo simulation (Dipole, in-scattering, out-scattering, diffusion, etc.)