Just posting a few shots of my pathtracer. The material system is a bi-layer, multi-scattering microfacet model, with anistropic roughness for all material types. The renderer is HDR, with the usual DOF, super-sampling, etc.

When sampling a surface, every material type (conductor, dielectric, diffuse) has 2 layers. The top layer is a dielectric BSDF, so we can do things like clearcoats, varnish, etc. Light is either reflected, or transmitted towards the bottom layer. The bottom layer is the main material type. Attenuation is accounted for both going into and going out of these 2 layers. Both layers are microfacet models capable of anistropic or isotropic roughness. The model simulates 2-bounce scattering within the microfacets of the surface, which is more energy-preserving than the typical microfacet model where if a bounce faces the surface normal it is terminated.

Coincidentally I was looking at the problem of layers in the last few days trying to improve clear coating. It's possible to account exactly the amount of light reflected by the bottom layer if you assume that the light will hit the same microfacet always, just like you can do with a thin glass material. It's a simple geometric series and I came up with the following formula:

r is the fresnel reflectance from the light exiting the top layer, bottomColor is the reflected color by the bottom layer. prtselect is a function that select the first argument is the 3th argument is true or the 2th if false for each individual components.