Practical and theoretical implementation discussion.
shiqiu1105
Posts: 138
Joined: Sun May 27, 2012 4:42 pm

Hey guys,

I've been trying to implement a disney styled principle bsdf lately, and I have read http://blog.selfshadow.com/publications ... _notes.pdf and https://disney-animation.s3.amazonaws.c ... tes_v2.pdf

I got the basic idea. One thing that confuses me a little is the layer system.
Arnold takes the approximation that all layers have zero thickness, and energy conservation is done directly with fresnel term. Here is my question.

When evaluating the bsdf, I assume we can simply loop over all layers and sum up contributions from each layer. However, when evaluating layers not on top, which in and out directions should we use? Should we take into account the refraction from upper layers?
When sampling the scattered directions however, which layer do we pick? If we have a specular layer on top of a diffuse layer, I think we can again use the fresnel to select layers randomly, but what if we have 3 layers, random select twice with fresnel? Lastly, if we select one of the lower layers, and sampled a scattered direction, should we also reduce the throughput of the sampled ray based on fresnel from upper layers?

Seems quite complicated to me, hope that someone can help

Thanks,

ypoissant
Posts: 97
Joined: Wed Nov 30, 2011 12:44 pm

### Re: Questions about layered bsdfs.

"A Simple Layered RGB BRDF Model", by Granier and Heidrich, 2003.
"Arbitrarily Layered Micro-Facet Surfaces", by Weidlich and Wilkie, 2007.
"Exploring the Potential of Layered BRDF Models", by Weidlich and Wilkie, 2009.
"Thinking in Layers - Modelling with Layered Surfaces", by Weidlich and Wilkie, 2011.

In principles, you should refract and attenuate the ray on top layers when evaluating a lower layer and take into account the possibility of total internal reflection when getting out of a lower layer. Imagine the calculations you would do if you modeled each layers separately.

ypoissant
Posts: 97
Joined: Wed Nov 30, 2011 12:44 pm

### Re: Questions about layered bsdfs.

I just found this recent article. I haven't had time to read it yet but given the authors, it should be interesting.
"A Comprehensive Framework for Rendering Layered Materials", by Jakob, D'Eon, Jakob, Marschner, 2014.