Fresnel and roughness

Hey everyone!Hope you are well. Just wanted to check with all of you…>What’s going on with roughness in a blender? Found this post and this makes sense to me… https://blender.stackexchange.com/questions/69161/how-the-fresnel-effect-works-and-how-to-construct-physically-based-shaders-in-bl treating roughness this will make more sense…Did some test and definitely looks better. What is going on under the hood?
Cant show any example,because I’m new user :smiley: (Shame :slight_smile: )

Cheers

Not quite sure what the question is. It’s basically about lowering the fresnel output based on the roughness, otherwise rough white reflections will look “too glowy” at the edges. The bump thing is a trick used to prevent garbage data coming in from unconnected sockets in node groups, but I’m not sure if that applies anymore.

Note that Principled shader handles this automatically.

Sometimes you may want to reduce the roughness towards the edges instead, or in combination. Search for the term microroughness.

You want to talk about something asked 7 years, 5 months ago… so 2017… :question:
:thinking: then this was properly 2.79b

also because of the look of it…

You know… things have changed since then… (and also will in the future)…
:person_shrugging:

Thank you for your help, but it’s not the answer to my question. Things have changed over the last 10 years, but this question is still legit. Did a couple of tests and am not sure that Blender is doing the right way…That’s the reason why I asked. Could anyone please prove what the blender is doing under the hood related to roughness?

Let me rephrase my question most simply.

Is it fresnel included in the roughness calculation under the hood of the blender shader or not?Let me rephrase my question
most simply.
Thank you

left is Principled brdf right is my expectation


Of course it didn’t answer the questions… it was not saying it was… i was questioning your question and especially the reason for it being such an old discusion…

[ but i just saw you rephrased it ]

Hmm… :thinking:

…well… any renderer has it’s own way of using any differetn computing model for light…

Even to be able to compare them someone has to study them all in some extend which is for most artists by far too much… they just want the results their are aiming at/to… and so use some shading or composition nodes to tweak it…

No movie FX or AAA game does it “right”… the are all just for the show… and (not only Hollywood) is making millions with this because it looks good.

…and there are several threads here on BA (and elsewehere) why one renderer is better than the other… which are all reasonable to some degree and indeed interesting… but in the end very time consuming… and mostly (at least for me) no real game changer… ( remember the mentioned movies… everything is (motion) blurred and covered in dust/smoke anyway :wink: )

But you may have simply a look into this (for example):

Thank you! That is all good, I understand that totally. I have enough experience in the VFX industry to know how stuff works in the background.

My point is just to understand what Blender is doing.Is not a problem to tweak, but as far as I can see will be necessary to make some corrections.

But where does “expected” come from? The link provided appears (just a quick glance) to deal with the old problem of the fresnel NODE not accounting for roughness. Principled always did, although it have always differed from a manual PBR capable fresnel in two ways:

  1. Initially it was using Disney Diffuse (or at least claimed to, some say some other arbitrary trick was used) which accounts for exit IOR which is something we can’t do in a manual setup.
  2. Later a new algorithm was chosen to make Multiscatter GGX better. Not sure if that plays into Principled in a different way now that roughness no longer plays into diffuse anymore (was coupled to Diffuse roughness in Disney version).

If “expected” means Principled doesn’t match 100% to a manual PBR fresnel setup, then yes, it never did. Both still gets rid of the problem with “glowy edges” for high roughness, which is what you’ll get using the fresnel node as is.


Left and middle are nearly identical, the right one using fresnel without accounting for roughness suffer greatly from the “glowy edges” phenomenon. Note that this is Blender 4.1, so roughness no longer impacts diffuse.

What corrections, and based on what research paper?

1 Like

Thank you CarlG,

sorry for late reply.I was busy with some other stuff.
What you demonstrate it’s fine and thank you for your time.
As you said,they are identical,but is still impossible to control exit roughness…

I got my answer.I have to teak my roughness manually and achieve value I expect on the 90 degree/ exit roughness/glance how ever you call.

There is no research or paper I used.I used my eyes.Based on what I see with my eyes and what I got on my screen is different.

Roughness is different based on angle.That’s it.
Glass and some roughness surface has different reaction to “camera” angle and that’s fine…

Mostly affecting rougher surfaces.

Cheers

Hi,

You can not fix this problem with only increase/decrease “Roughness” or “IOR” value, you must change “Reflection-Diffusion” relationship.

If you think use paid add-on, VSHADE can do this.

Oh, I see. I think what you’re looking for is microroughness, similar to what’s in Thea? This is the setup I use for that, although it’s based on a scaled power function for the sake of simplicity:


Note that due to some issues, at least present a long time ago, I don’t account for incoming normal. If you search for microroughness, others have their own version, some of which may account for this.