In between end of year celebrations, nights in hotels because of cancelled flights and other snow storms, I still managed to progress on the layered material representation front.

Stanford Dragon, diffuse material coated with glass.
I admit that it is not the most spectacular example as it does not show off the effect of absorption in the glass coat… But at the moment I cannot be asked to wait 20+ hours to re-render.

Reflection functions
I have been experimenting with BRDFs lately.
In the picture above, from left to right: Oren Nayar, Torrance-Sparrow with different roughness, and smooth dielectrics.
I am investigating how to represent materials in the core engine. Obviously it should be as physically correct as possible.
Here is my current wish list. The material representation should:
- Be physically-based (or at least physically plausible),
- Be capable of representing a wide variety of materials,
- Support sub-surface scattering (including single sheet SSS),
- Support thin film interference.
From readings and thoughts, I think that requirement no. 2 pretty much implies some sort of layered model to combine simple building blocks into a complex material. This is the route I am following at the moment.
As for references, I have grabbed a copy of Digital Modeling of Material Appearance by Dorsey, Rushmeier and Sillion, which in my opinion gives a good theoretical overview of the topic. And, of course, I am roaming the web for academic papers.
Regarding reference implementations, the PBRT book seems to give the most complete example.