Does the current Blender RC still need the BSDF IOR Fix?

Hi guy’s, i stumble upon this video while doing a search since i thought something was wrong with the IOR and i just want to know if it is still relevant in current Blender version?

Nothing is wrong with it. It reads “Specular” (not IOR) with a plausible range of 0-1 as Disney intended, and I agree with this. Never did I “hunt for IOR value for realism” as far as reflection goes. But I sometimes need to control it artistically - raise it a little, lower it a little, shut it off for fake shadow gap simulation etc. With artist friendly it means that we only need to worry about values in the 0-1 range in a linear fashion, a value that can be previewed with emission node.

I would be more worried about the following not being implemented:

  • No roughness input on fresnel/layer weight fresnel node. Principled doesn’t suffice in some cases.
  • No thin switch on fresnel/layer weight fresnel node.
  • No thin switch on glass shader.
  • No transparency based shadow switch on glass and refraction shaders.
  • Layer Weight/Fresnel is also 0-1, but has different range/response than specular.
1 Like

The “Fix” is not a “Fix”.
It’s just a node to automate the specular value in relation to real material’s IOR following the instructions in the blender manual.

The forumula is pretty simple, no need a node, just make a fast calculus:

1 Like

I haven’t looked into it, but in case someone already have; what’s the inverse of the formula? Calculating ior given specular?

Not sure how it can be useful, since material’s ior charts are easy to find in internet but…


OK now i get it thank to you guy’s but i still found it useful when you just want to enter precise ior value for some specific material instead of doing the math conversion.

Thank you. Saves me messing around with a formula and getting it wrong :stuck_out_tongue:

Not sure if your answer was directed at me or the original question (quoted me), but I was asking about the inverse formula; not spec=f(ior), but ior=f(spec), which LazyVirus provided.

1 Like

can some one make a small script to do the calculations!

happy bl

I don’t script, but I’m guessing it’s easier than setting up nodes, and I did that in a minute. Did you try?

with a script you could have a list of IOR and get equivalent Spec

or the opposite I guess

unless you can enter > 200 IOR in nodegroup
which is too complicated I think

I will see if I can make something for 2.8 later on
still learning the new API

happy bl

1 Like

It would be an excellent addon if someone do it and include some presets for various ior!

working on script for conversion in 2.8

one thing I got a list of material IOR
but there is like over 300 materials and IOR values

so for a menu that is a lot of options
I added the new panel in the object panel on the left !

what do you think ?

happy bl

1 Like

Hi Ricky, maybe just include the most obvious one and thank for making this!:ok_hand:

list seems to include some metals too
so I mean I can remove all the metals I think

waiting others comments on this ?

see this list here

happy bl

1 Like

can someone show a nodes set up for using these 2 calculated values
on the BSDF node

happy bl

should I remove the metals from the list of IOR

or is there another formula to use for metal materials ?

happy bl

Remove’em. Fresnel of metals use both components of complex fresnel and the single value is non-sensical in the “IOR tables” I’ve seen. Dielectrics don’t use Extinction Coefficient.
If anything, devs should include metal shader with physical n/k based complex fresnel and the artist friendly version, complete with most common metal presets.

Also, if you’re using coating, you’re supposed to lower the IOR of the main material. By how much?
And how about nested dielectrics. Things get complex really fast. But good luck.

@ Carl
for the 2 equations show at beginning of thread here
are there 2 nodes set up for these 2 formulas

I can include theses 2 nodes set up I my coming release addon
so would make it easier to use it and show how and when to use it

I will remove all the metal
for the papers shown I don’t see any simple equations to do in python
and don’t want to pass 2 weeks trying to figure it out either!

so for time being not touching the metal ones

happy bl

Yes, but they are very easy to set up. I used the one LazyVirus provided in my own PBR setup. I might have spent time trying to convert the first formula (as I don’t know math), but setting up a known already converted formula into nodes, especially one as easy as this one, is just a couple of minutes. You can do it easily if you try. Also, I have zero experience with Python, but I’m pretty sure I could manage this one.