Ideas for Cycles Shaders

This is correct. I will just add that you would normally make the translucent shader darker (because energy is lost the more material is traversed), and any color it had gets more saturated (because “internal reflections” will pick up more and more color similar to the tint setting).

And you would typically do translucency for thin geometry (leaves, paper etc), changing to sss for thick geometry. Translucency only create diffuse lighting and shadow on the backside, if you want a direction driven setup (backside specular highlight) you’d have to mix refraction. But for refraction to work for thin geometry you have to use the incoming normal trick. And now you have to consider how you want any normal modifications to work. See how quickly this becomes waaay to complex for a Principled shader to handle? Too many options.

If you need access to all the sockets, just unhide, make whatever tweak you need to make, then hide again. We don’t need to reinvent the wheel all the time.

Nope, you’d just switch the Principled BSDF from thin translucency to SSS, as proposed in the link above.

Yes, some advanced SSS shaders can have phase functions, to define directionality, but it’s rarely used and it has rarely significant impact on resulting realism. Furthermore, if you wish, you are able to mix SSS with glossy refraction (transmission) within the Principled BSDF.

Nothing you are presenting is way too complex for Principled shader. Thin diffuse translucency and volume based SSS can not ( and should not ) be mixed, and SSS in Principled can be mixed with Transmission (refraction), although, it again, should not be.

The bottom line is simple. Have thin geometry? Use thin translucency. Have thick geometry? Use SSS.

Reading through some of the previous posts one can get the impression that the Principled Shader is supposed to be for newcomers/less experienced user and the more atomic shader for advanced users.

Looking at the history of the shader however it is a more complex picture.
The introduction of the Principled Shader by Disney (Physically-Based Shading at Disney) came from the demands of large scale professional productions. Designed as art-directable and not necessarily physically correct, with as few parameters to tweak as possible. With intuitive parameters rather than physical ones and all combinations of parameter yielding robust and plausible results.
A big benefit of the unified model is that it facilities a very simple material library consisting of
a set of stored presets which can easily be changed (e.g. by script in a large scene)

1 Like

Which link? If you mean the translucency thing, then yeah, I agree newcomers will have a problem with the current way of handling this. I’m not able to find it atm, but Disney has already improved their setup for handling thin geometry and various parts of transmission. I’d say that is the way to go, and yes, that would help greatly for handling translucent/thin stuff, but it won’t help on everything else. Getting rid of the building blocks? That’s just heresy! :no_entry: :smiley:

Doing things like hazy gloss i.e you can’t do today with a single lobe (greasy metal, diffraction effects [not grating]). What when new tech is introduced to Blender? Like multiscale materials (scratches, glints), incorporation of microflake (for microfacet) theory. And whatever else lies beyond that. The Principled is going to get intimidatingly scary for newcomers at that point - for stuff they might never even care about.

As of today, the biggest neglect for those wanting to setup manually, is lack of singlesided switch and roughness modulated output of the fresnel node. As far as microroughness goes, I think that should just be an additional node. That way we can use it for our own manual setups instead of relying on groups (Eevee issue).

I’m not going to oppose implementation of Disney thin/transmissive advancements. Emission is the weird one here imo, due to how simple it is in the first place to add. Lack of emissive light shaders in Eevee is also bizarre to me as we can’t do relative kelvin temperatures.

1 Like

At the very least they have to maintain the older bsdfs so that cycles can stay compatible with older node groups and materials.

There is also personal preference. A user making a unique shader would probably rather use the smaller nodes instead of a lot of large nodes that have a lot of options they won’t use. Yes, we can hide unused sockets with ctrl + H, but its both faster and makes more sense to add nodes that only have the settings you need by default.

When the aim is an abstract work, I personally don’t want to be bound by the “physically plausible” limitations that are built into the principled bsdf.

At most, I’d say this is a case for adding a tool tip to the add shader that mentions it breaks conservation of energy.

The majority of new users won’t even need to open the node editor. The principled bsdf is now the default, and they can adjust all the settings for it (including adding textures to sockets) through the property editor. If a new user ever opens the node editor, it will be because he saw it in a tutorial. If he/she saw it in a tutorial they probably saw the correct way to mix their shaders to get the result they wanted.

1 Like

There are other corner cases, where the Add Shader is needed. For example when faking Glass Dispersion (this one also needs the Glass BSDF for colored specular) or when you want to use Emission with anything else than Principled. Covering all this corner cases that might come up in one shader might be possible - PxrSurface in Renderman is a good example for a Shader that covers almost everything you ever need. It also has an “artistic” and a “physical” mode, which is an elegant way to deal with the NPR/PBR problem.

The biggest showstopper is probably the current Node-UI, which just makes it more convenient to work with smaller building blocks - but with Everything Nodes I hope there will be improvement in this area.

That was already discussed above. Glass dispersion would have to be inside Principled too. It’s not a big deal. Uber shaders in most other renderers already have it. It’s just one more abbe number parameter.

1 Like

Things like stoachastic flakes can be implemented as another BRDF shader on top, but that still doesn’t mean those basic building blocks have any sense or purpose. That still doesn’t make them useful.

If we exclude glass dispersion and diffuse translucency (whose lack of is an oversight on the side of whoever did initial principled implementation), then I dare you to come up with at least single real world material example which requires more than 2 principled shader nodes to be combined.

Vast majority of even abstract/artistic materials do not require breaking of those rules. Sure, in principled you can’t do nonsense like adding two diffuse BSDFs, which results in glowing material, but you can use one diffuse layer in Principled and supplement the brightness with emission, which is actually more reasonable way of doing it. Again, if we exclude the issue of glass dispersion and diffuse translucency, there’s nothing else you can do with primitive BSDFs but not with Principled.

Or can someone show me at least a single example of a good looking material that really requires those primitive BSDF nodes?

No it’s not - funny, I just made a Devtalk thread for it yesterday.

The clear coat should be builded like this :

A mix shader with the Fresnel as Fac,and the first input is the main Material(the whole principled shader tree),the second input a white glossy shader (for dielectric clear coat material,in most cases a clear coat is made of poly urethane,PU is dielectric)

and to bring my idea from the post back to the topic,a trichromatic fac would be useful in the mix shader

1 Like

Ohh god!! I could give you plenty of examples… but one should be enough…
Try making this with the Principled:

2 Likes

Can you post the screenshot of the actual network too? If you want me to reproduce it and it’s already existing Blender material then I need to see what I actually have to reproduce. That being said, if I google the name of the image, this is what I get:
https://www.google.com/search?q=Sequins+Diffraction&rlz=1C1CHBF_enCZ809CZ809&source=lnms&tbm=isch&sa=X&ved=0ahUKEwjngc7K88LiAhUC-aQKHaTJD9sQ_AUIDigB&biw=1920&bih=1057#imgrc=_uB6NA5_gGoLwM:
I can try to reproduce that by eye before you post the shader.

you can find the blend file somewhere in this old thread.

But just for a simple explanation of why the base shaders should be in Blender: anytime you need a material with complex reflections/refractions (with more than one glossy/refraction), the Principled will fail.
Or an even better example: when the normal vector of the glossy differs from the diffuse normal!

To be fair, a Principled Shader with metallic 1.0 and no specular works basically the same as a glossy bsdf and a principled with no specular is like a diffuse shader, so you could also just mix these instead. Not sure about performance though.

but why should I have my editor with dozens of that Principled node cluttering my workspace (when i just need the glossy)?? Isn’t the purpose of the Principled to have just one shader node in the nodetree???

Aggreed, but thats an UI problem. If it was easier to make nodes only display the parameters you need, this wouldn’t be a problem. If there were presets for Nodes, it would be possible to have Glossy, Diffuse, SSS etc. be presets for the Principled BSDF.

and its faster too, one glossy set the color,the roughness done.with principled you have first make sure all the fancy stuff is takeing down,so you get only the wanted glossy.

To be fair,the Principled shader is perfect for the PBR texture setup,if you want to feed the inputs quickly with albedo tex ect from substance painter or other sources.

1 Like

BTW, you can have custom nodes. It’s just a matter of buiding your presets in python.
I even have a variation of the Principled with a button to hide sockets.