Saturday, January 9, 2010

Metropolis Light Transport and stuff.


Hi!

Long time no see. Like always I was rewriting it from scratch a couple of times. But nevertheless it's still java and now it uses metropolis sampling to help that poor path tracing converge.

Btw. I did MLT on yesterday evening after 2 beers (it had to be Ballmer peak).

Altough the implementation is still very fresh it easily outperforms standard path tracing, what is to be seen especially when difficult caustics are involved.

I've implemented spectral rendering too, it was very easy actually, cause all computations on wavelengths are linear just like rgb. But then I realised that even if it does feel more physically correct to do so, whats the point? 3d applications are operating in rgb color space, and because I cant represent a rgb color as spectrum interchangeably I have to approximate it, so as long as I'm not running a physical simulation or something I don't see the benefits (please correct me if I'm wrong), thus I abandoned that.

I was also working on dispersion (rgb rendering), but that feature needs a little more work (I've included an old pure path tracing rendering with dispersion visible)

Edit:

7 comments:

  1. My thoughts on spectral rendering exactly.

    ReplyDelete
  2. Nice progress!

    Yeah spectral rendering is easy.
    You mentioned dispersion, well that's typically a spectral effect that can gain a lot from spectral rendering.

    As always the key is to choose what to implement depending on the application you're after.

    ReplyDelete
  3. Nice work!

    You should either share an executable (possibly something multi platform), or some benchmarks :) .

    Keep up the good work! :)

    ReplyDelete
  4. Didn't you have to add bidirectional paths before MTL?

    ReplyDelete
  5. Thanks for comments. Yea I will share exetucable. If there is anyone who would want to run it, then why not :).

    And no, MLT can work on top of anything for ex. standard Whitted ray tracing. It would just favour bright regions more, but I can't imagine that though :D.

    Regards.

    ReplyDelete
  6. Or perhaps that would be not what is called Metropolis Light Tracing originally, but just ray tracing with metropolis sampling.

    ReplyDelete