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!