Physically based rendering of mist and fog using MCML

Zhi Kang Shao

Department of Information and Computing Sciences, Utrecht University

This is the result of an experimentation project, done over the course of approximately 3 months (September 2013 - November 2013), performed by Master students Mattijs Driel and Zhi Kang Shao, under the supervision of dr. Robby T. Tan at Utrecht University. The project has been performed in a semi-collaborative fashion, with both Mattijs Driel and Zhi Kang Shao having produced the same implementation, but with differing focus in the experiments. This page shows the results of the experiments performed by Zhi Kang Shao.


Current techniques for rendering participating media either don't take into account multiple scattering or don't handle scenes with multiple adjacent volumes properly. MCML is a light transport model that supports both, but can only be used in setups with parallel layers. In this work we study MCML's usability for rendering scenes with with arbitrary geometry of urban scale, whereas previously it has only been used for multi-layered tissue. We hypothesize that MCML can be used for rendering homogeneous mist, that it can be extended to support inhomogeneous volumes, and specifically, it can be used for physically based rendering of clouds. We extended MCML to be able to do this. Our experiments compare renders of mist, smoke and clouds to photographs and renders with single scattering. Our results indicate that MCML performs quite well as a light transport model for general scenes with participating media.


Physically Based Rendering of Mist and Fog using MCML [PDF]
Zhikang Shao

Results: Rendering mist

Several mist renders with MCML and a reference photo (top right).

Results: Rendering fog clouds

Two fog renders with MCML (left) and two reference photographs (right).


  1. Wang, Lihong, Steven L. Jacques, and Liqiong Zheng. "MCML-Monte Carlo modeling of light transport in multi-layered tissues." Computer methods and programs in biomedicine 47.2 (1995): 131-146.
  2. Narasimhan, Srinivasa G., et al. "Acquiring scattering properties of participating media by dilution." ACM Transactions on Graphics (TOG). Vol. 25. No. 3. ACM, 2006.
  3. Bohren, Craig F. "Multiple scattering of light and some of its observable consequences." Am. J. Phys 55.6 (1987): 524-533.
  4. Blinn, James F. "Light reflection functions for simulation of clouds and dusty surfaces." ACM SIGGRAPH Computer Graphics 16.3 (1982): 21-29.
  5. Pharr, Matt, and Greg Humphreys. Physically based rendering: From theory to implementation. Morgan Kaufmann, 2010.
  6. Driel. "Simulating physically based light transport through multiple layers of participating media" Experimentation Project, Utrecht University (2013).
  7. Vlasakker, Sussenbach. "Rendering Physically-Based Subsurface Scattering Objects" Experimentation Project, Utrecht University (2012).
  8. Henyey, Louis G., and Jesse L. Greenstein. "Diffuse radiation in the galaxy." The Astrophysical Journal 93 (1941): 70-83.
  9. Toublanc, Dominique. "Henyey-Greenstein and Mie phase functions in Monte Carlo radiative transfer computations." Applied optics 35.18 (1996): 3270-3274.
  10. Kajiya, James T. "The rendering equation." ACM SIGGRAPH Computer Graphics. Vol. 20. No. 4. ACM, 1986.
  11. Immel, David S., Michael F. Cohen, and Donald P. Greenberg. "A radiosity method for non-diffuse environments." ACM SIGGRAPH Computer Graphics 20.4 (1986): 133-142.
  12. Rushmeier, Holly Edith. "Realistic image synthesis for scenes with radiatively participating media." (1988).
  13. Premoze, Simon, et al. "Practical rendering of multiple scattering effects in participating media." Proc. of Eurographics Symposium on Rendering. Vol. 2. 2004.
  14. Lafortune, Eric P., and Yves D. Willems. "Bi-directional path tracing." Proceedings of CompuGraphics. Vol. 93. 1993.
  15. Lafortune, Eric P., and Yves D. Willems. "Rendering participating media with bidirectional path tracing." Rendering Techniques' 96. Springer Vienna, 1996. 91-100.
  16. Veach, Eric, and Leonidas J. Guibas. "Metropolis light transport." Proceedings of the 24th annual conference on Computer graphics and interactive techniques. ACM Press/Addison-Wesley Publishing Co., 1997.
  17. Pauly, Mark, Thomas Kollig, and Alexander Keller. "Metropolis light transport for participating media." Rendering Techniques 2000 (2000): 11th.
  18. Jensen, Henrik Wann, et al. "A practical model for subsurface light transport." Proceedings of the 28th annual conference on Computer graphics and interactive techniques. ACM, 2001.
  19. Jensen, Henrik Wann. "Global illumination using photon maps." Rendering Techniques' 96. Springer Vienna, 1996. 21-30.
  20. Jensen, Henrik Wann, and Per H. Christensen. "Efficient simulation of light transport in scences with participating media using photon maps." Proceedings of the 25th annual conference on Computer graphics and interactive techniques. ACM, 1998.
  21. Greene, Ned. "Environment mapping and other applications of world projections." Computer Graphics and Applications, IEEE 6.11 (1986): 21-29.
  22. Laine, Samuli, and Tero Karras. "Efficient sparse voxel octrees." Visualization and Computer Graphics, IEEE Transactions on 17.8 (2011): 1048-1059.