My variations:
- Principled-Stockner BSDF;
- Disney-Stockner BSDF;
- Stockner-based BSDF;
- PLS BSDF (Principled Lukas Stockner).
My variations:
Stockner Syndrome BDSF
Just kidding, I came willingly. Looking forward to trying this thing out.
We should call it the âPrincipled Surface BSDFâ shader instead of just calling it Principled BSDF. That way the name is more in line with the Principled Volume and Principled Hair shaders. This is the uber shader for the objectâs surface, so the name should reflect that.
The thing is, itâs not only going be a surface thing:
- the idea here is to implement basic volume controls (homogenous absorption, maybe also scattering) in the main Principled BSDF.
He is planning to add a volume output in the Principled BSDF shader. And he is even considering auto-connect the volume when the socket is empty:
- Not sure how to handle this on the UI side without requiring the user to connect to the Volume output as well. Maybe auto-connect internally if the Volume output is empty, otherwise let the ârealâ volume shader override this?
Principled v2: battered and stocknered
As easy as it can be: Blender Principled BSDF
Are some âmicro roughnessâ reflection glossiness controls planned?
I mean, something like this:
or in fstorm called âglossy fresnelâ
Might be missing something but that seems doomed to fail as soon as you have more than one principled shader in there
I guess the rule could be that it only does this is it is connected to the surface sucker socket, but that would be annoying if you donât actually want any volume options.
Perhaps some visual indicator on the node itself, that settings are currently unused because they donât matter for all currently connected outputs could work.
In fact it would be nice if somehow node groups could also do this.
Maybe have collapsible panels inside bigger nodes or, user -definable, in groups too.
For instance, if itâs a single principled shader that does it all, there could be like four subpanels:
General settings, Surface settings, Volume settings, Hair settings
Or something like that. And each of those panels could like partially grey out if unused
Yep - I would like to see something like this implemented too - and not just in the principled node, but in the glossy shader as well.
might be better to have an explicit volume output in the principled_v2 node. Nothing done âinternallyâ, hidden to the eye of the user. So if I set something volumetric, then I have to connect the volume socket to the output.
Tested the build and found an issue with Bump + Displacement nodes are doesnt works properly as they are works with GGX model:
And the fresnel node could have a switch for âdouble sidedâ to force identical fresnel output for the backside face, as well as a roughness (and microroughness) control for easier manual rough fresnel. As well as complex fresnel for conductors. As well⌠Oh wellâŚ
The point I was making was, if something was implemented affecting glossy for principled (like microroughness), it would be sensible to add it to the standard glossy node too - for consistency.
We have seen what happens when features in principled become misaligned with the features in standard shader nodes - we end up with large projects like Principled V2.
To ease things, a new roughness node could solve this problem. Youâd have a dedicated microroughness to apply to any other bsdf node.
Oh well, thatâs already what we (can) do with the layer weight trickâŚ
I guess it depends how accurate layer weight trick is and how easy we want to make it for users.
Most of the stuff in the principled node can also be achieved using a combination of mix shaders and layer weight etc - so that in itself doesnât seem to be a barrier to a function or feature being incorporated âout of the boxâ.
Why ? You are probably using an Add or Mix shader node to combine two principled shaders.
You can use same nodes to combine volume shader nodes.
You would have choice to :
_ just mix surfaces outputs and obtain an internal automatic mix of volumes ones.
_ mix surfaces outputs and plug one volume output ( potentially from an Holdout shader) in Material Output node.
_ mix surfaces outputs and mix , manually, differently, volume outputs and plug outputs of Mix Shader nodes in 2 sockets of Material Output node.
It would be realy helpfull to have a roughness scale in micrometer as example.Thea engine working like this.
This way you can set industrial values from interiors like in house,or car to get the perfect haptic.
Here a example of a industrial roughness comparison scale chart,click on it its 4k to get a impression.
Roughness in Blender isnât really related to the actual physical roughness of the surface though - itâs more a measure of how diffuse the surface looks - so it may be difficult to relate the current implementation of âroughnessâ in blender to a physical reference like you are posted.
Some semi-glossy surfaces in real life can display high levels of âroughnessâ, but without displaying actual rough surface details as shown in the reference photo above.
Perhaps âroughnessâ as defined within blender is a bit of a misnomer? Should it actually be called âdiffuse-nessâ
Ehm yes kind of.Its the microfacet model.With a normal map you a redirecting the facets.
The point is,its difficult to get the right roughness optic out of the box without a right scale.You can do ofc many procedural looks with noise textures.However its not that easy to adjust the right gloss.It should look more like a microdisplacement with the right scale,if that makes sence.
Like the Thea examples.
On the other hand, it is worth noting a sensible setup to mix two surface shaders is a lot more straightforward and flexible to setup (e.g. a uv-mapped bitmap as âfactorâ-input), than it is for volumes.
greetings, Kologe