Thoughts on including Specular Manifold Sampling (Metropolis implementation)

Before adding something more specialized (and complicated) like this, I think it would be better to focus on path guiding. Path guiding is conceptually simple and while not as good at rendering caustics, it helps in more cases and is production proven.

There’s also an implementation of that available:

Note that in general Mistsuba code is GPL licensed, and for Cycles we need Apache licensed code. So we can’t copy implementations like path guiding or specular manifold sampling directly.

I’m not familiar enough with specular manifold sampling to know if it’s GPU friendly or leads to low frequency noise that flickers in animation (like MLT). In general these are things we want to take into account when adding rendering algorithms to Cycles.

More background on our plans in case you did not see it yet:

12 Likes