Volumetric path tracing

Volumetric path tracing is a method for rendering images in computer graphics which was first introduced by Lafortune and Willems.[1] This method enhances the rendering of the lighting in a scene by extending the path tracing method with the effect of light scattering. It is used for photorealistic effects of participating media like fire, explosions, smoke, clouds, fog or soft shadows.

As in the path tracing method, a ray gets followed backwards, beginning from the eye on, until reaching the light source. In volumetric path tracing, scatter events can occur while these process. When a light ray hits a surface, a special amount of it can get scattered into the media.[2]

Description

The algorithm is based on the volumetric rendering equation,[3] which extends the rendering equation with a scattering term. It is composed of an absorption, out-scattering, emission and an in-scattering part. The absorption and out-scattering together form the extinction term. The in-scattering is the most expensive part to calculate because it needs an integration over all paths in the scene that consist of radiance. Therefore, thousands of paths need to be traced to get a result with a good quality without much noise. For a better handling, the in-scattering term can be split into two components, the single scattering and the multiple scattering.[4]

Algorithm

In volumetric path tracing, a distance between the ray and the surface gets sampled and compared with the distance of the nearest intersection of the ray with the surface. If the sampled distance is smaller, a scatter event occurs. In that case the path gets evaluated and traced from the scatter point in the media, not from the surface point on which it falls. The rest of the procedure continues the same, until reaching the light source.[2][5]

Sampling

A possible way of sampling distances is the ray marching method. It works similar to ray tracing but operates on a distance field of the scene, and acts in discrete steps. The scattering inside the media can be determined by a phase function using importance sampling. Therefore, the Henyey–Greenstein phase function[6] can be applied. It is a non-isotropic phase function for simulating the scattering of materials like oceans, clouds or skin.[4]

gollark: As we're the same person.
gollark: Actually, heavpoot made it and submitted it as me.
gollark: Python has many irritating quirks.
gollark: As I said, I did 54% of them.
gollark: Having rootkits on a significant majority of the competitors' computers was a good idea I suppose.

References

  1. Lafortune, Eric P; Willems, Yves (June 1996). "Rendering participating media with bidirectional path tracing" (PDF). Proceedings of Rendering Techniques'96. Eurographics: 91–100. doi:10.1007/978-3-7091-7484-5_10. ISBN 978-3-211-82883-0.
  2. Skånberg, Robin (January 2015). "Evaluation of Visual Parameters in Volumetric Path Tracing" (PDF). Department of Science and Technology, Linköping University: 20–22. Cite journal requires |journal= (help)
  3. Chandrasekhar, Subrahmanyan (1950). "Radiative transfer". Quarterly Journal of the Royal Meteorological Society. John Wiley & Sons, Ltd. 76 (330): 498. doi:10.1002/qj.49707633016. ISSN 1477-870X.
  4. Jarosz, Wojciech (2008). "4-5". Efficient Monte Carlo Methods for Light Transport in Scattering Media. University of California. pp. 55–100.
  5. Kulla, Christopher; Fajardo, Marcos (June 2012). "Importance Sampling Techniques for Path Tracing in Participating Media". Comp. Graph. Forum. John Wiley \& Sons, Inc. 31 (4): 1519–1528. doi:10.1111/j.1467-8659.2012.03148.x. ISSN 0167-7055.
  6. "The Henyey–Greenstein phase function" (PDF).

Further reading

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.