Is that already implemented in the MDL SDK ? If not, are there any plans to add it ?
It would be great!
Any answer/advice appreciated, how I could add it on my own (if its not present).
that is indeed a great paper. It is, however, not implemented in the MDL SDK and we currently also don’t have concrete plans to add it. The reason simply is that this would add quite some code, require some architectural changes, opens up some questions (e.g. how to handle normals in layering), and will come at the cost of some computational overhead. It is also not clear if every renderer will strongly benefit (some renderers already implement other tricks to handle strongly bent normals and don’t care for physical plausibility that much).
You can of of course implement (at least parts of) it on you own: each elemental BSDF ends up with a normal and if the normal deviates from the geometric normal, you need the replace (or just “wrap up”) the elemental BSDF’s eval and sample functions (I would recommend implementing eq. 23).
Any BSDF can be used, as long as it only reflects (and does not transmit) light.
While the paper only handles BRDFs explicitly, extending the technique to general BSDFs (including BTDF) should be possible (I think) but most likely requires some non-trivial extension.