fixored?

It works on my machine.

Metropolis Light Transport

with one comment

Here are a collection of papers/links on the topic of Metropolis Light Transport (MLT).  The core principle of detailed balance that underpins the Metropolis-Hastings algorithm is extremely neat, and its application to light transport (in particular using Veach’s path integral formulation) is very aesthetically pleasing.  This post doesn’t really go anywhere, just provides links for further reading.

Some papers:

  • The thesis Robust Monte Carlo Methods for Light Transport Simulation has full details of the original implementation and a few different mutation strategies.
  • The paper Simple and Robust Mutation Strategy for Metropolis Light Transport Algorithm kills all the fun for me.  I probably shouldn’t comment as I haven’t implemented it, but my understanding is that all coordinates are perturbed during mutation, and the coordinates map back to the path space via a bidirectional path construction algorithm.  It seems to me that this would not handle well scenes with complicated occlusion between the light and camera (such as a light visible through a small hole).  I’d be interested to know the results from anyone that has tested this technique on complex scenes.
  • Metropolis Instant Radiosity (MIR) uses path mutations to generate a set of VPLs for instant radiosity.  Better coverage of the path space is achieved by using Multiple-Try Metropolis mutations.  The extremely interesting part of the algorithm is that the power of each VPL isn’t explicitly known, but they all bring constant power to the final image (after the visibility term).  It seems to me like there should be a good marriage between this technique and lightcuts, as the visibility term is the weakest part of the lightcuts algorithm.
  • Coherent Metropolis Light Transport with Multiple-Try Mutations notes that steps in Multiple-Try Metropolis are parallel, and can be accelerated by using ray packets.

Some projects:

Some advice for anyone trying to implement MLT: test as much as you can in isolation.  The main software problem with MLT, and I say this from experience, is that until you have fixed your last bug, your image will just be noise…

Written by Simon Brown

May 10th, 2009 at 11:47 am

One Response to 'Metropolis Light Transport'

Subscribe to comments with RSS or TrackBack to 'Metropolis Light Transport'.

  1. indigo uses kelemen’s sampler for its mlt implementation. in the paper he mentions that in order to minimise the change wrt path co-ordinates you should interleave them for the eye and light subpaths.

    indigo’s qmc/mh sampling looks different for unidirectional and bidirectional path tracing, besides which it is highly efficient in handling participating media; this suggests that nik has done it right ;)

    thomas

    19 Jun 09 at 2:10 pm

Leave a Reply