Cycles Disney Brdf

Hi guys!

I tweaked a bit with principled shader to try to replicate the same result achieved in Substance Painter. The thing is that it was pretty easy getting similar results with very little effort (just connecting each map into its slot).
Just wanted to share with you.

Regards.

Attachments


Where can one find documentation on what each input does exactly and the intended input ranges?

Have to try these, you didn’t change any default values?

Hi VanCantus,
Would it be possible to have a cycles mode with principled shader only? Everytime I add a principled shader node, rendering becomes much slower. As the other nodes are not required in this case (despite the emit node), it would make cycles much lighter and certainly much faster.

The original paper actually has a pretty good table (sec 5.2): https://disney-animation.s3.amazonaws.com/library/s2012_pbs_disney_brdf_notes_v2.pdf

The inputs are specifically designed so 0-1 is an intended range for all of them.

I’m specifically looking for how the specular value maps to traditional fresnel IOR. I’m probably blind, but I can’t find it in the paper.

I’m afraid you have to use your eyes. Its values are artist friendly rather than physically correct.

The only setting I touched the values in was the Mix RGB node, which I changed to Multiply and akk the way up to one.
I include the .blend file.

Regards.

Attachments

PBR_Principled_Shader_Workaround.blend (6.73 MB)

It’s hidden in the technical bits in sec 5.4:

In place of an explicit index-of-refraction, or ior, our specular parameter determines the incidentspecular amount. The normalized range of this parameter is remapped linearly to the incident specularrange [0.0, 0.08]. This corresponds to ior values in the range [1.0, 1.8], encompassing most commonmaterials. Notably, the middle of the parameter range corresponds to an ior of 1.5, a very typicalvalue, and is also our default. The specular parameter may be pushed beyond one to reach higher iorvalues but should be done with caution. This mapping of the parameter has helped greatly in getting
artists to make plausible materials given that real-world incident reflectance values are so unintuitivelylow.

For our clearcoat layer, we use a fixed ior of 1.5, representative of polyurethane, and insteadallow artists to scale the overall strength of the layer using the clearcoat parameter. The normalizedparameter range corresponds to an overall scale of [0, 0.25]. This layer, even though it has a largevisual impact, represents a relatively small amount of energy so we don’t subtract any energy from thebase layer. When set to zero, the clearcoat layer is effectively disabled and incurs no cost.

@elGordo: you do not need AO at all in Cycles or any other pathtracer. That map contains shadowing information for a lamp you don’t have in the first place. See: http://mentalraytips.blogspot.com/2008/11/joy-of-little-ambience.html
It should never be multiplied over diffuse. If you want to use it for dirty/dusty looks, you should handle that within substance and then that information will be within the basecolor map.

Aha! Thanks a lot!

I guess, this would be some work for later stages as the principled shader is really new and has to establish itself first. :slight_smile:

So the principled shader will get slower if used in combination with other Cycles shaders? Is that why the reports of slower SSS and transparency?

maybe principled shader itself is slower? :spin:

I had a couple of crash when i tweaked the shader in render viewport mode (win 64 build)

Thanks for pointing that out!!! I’ll take that into consideration for next workarounds. Also, thank you very much for the link!!

Hey thanks I will give it a try and see how it goes :slight_smile:

It seems a bit abandoned and no one has reviewed this yet :frowning:

Why is the “specular” of the principled shader so noisy compared to the traditional glossy/diffuse mix (with “pbr” fresnel)?
Both 50 samples


Actually in relation to the previous post I notice that the noise level with principled is equal to the noise of glossy/diffuse if using “branch path tracing”

Hi Rhys, do you use Blender 2.78c?
There was many changes and bug fixes until 2.78, may you check with a daily build.

https://builder.blender.org/download/

Cheers, mib