I did it :) After so many hours of reading ridiculously-overly-complicated papers and failing so hard at the math, I finally got it right.
Here are some results. The classic test scene box, this time with only 3000 spp (which looks substantially smoother than the 5000 spp brute-force version that I had been using as reference):
Here's the ship:
And finally, something that the tracer never could have done in a reasonable amount of time without MLT:
That's using only ~100 spp...not bad at all!
It's not perfect yet...in particular, there's an unusual abundance of fireflies. Although, I have observed the same problem with PBRT's implementation...maybe this is just a fact of the algorithm. Still, I'm sure the results can be further smoothed out.
I'm pleased to say, however, that I'm finally convinced that my renderer is better than PBRT for my purposes. It's faster, and now it's also (almost) as smart, which means, overall, it's a good bit faster.
I still have the fortune that I got from a fortune cookie last Sunday sitting on my desk...it says "luck will soon come your way." I was hoping that it was referring to my rendering project. Sure enough, it was.



No comments:
Post a Comment