I have some info here, since this appears to be an important issue:
The way IOR mapping currently works (and always worked) is this:
- if the value is above 1, it is directly applied as IOR (e.g. value 1.5 = IOR 1.5)
- if the value is below 1, it is converted into 1/IOR (e.g. value 0.5 = 1/0.5 = 2)
really???? wow. that's is strange behavior. really not expecting it.
personally, I always used EXR for it so not expected it to behave like that for 8 bits.
IOR generated from something like substance painter for corona would really look strange with this current behavior. I would expect this to be in the tooltip so if someone generated a map from substance ecosystem or other texturing applications to at least know about this and only generate 16 or 32-bit exr to use in corona.
I think at least more than half of those who use substance painter and corona use this incorrectly with the wrong exporting format.
Like this:
If the value is above 1, it is applied directly as IOR override (exactly as right now).
If the value is below 1, it will directly map as fraction of existing material IOR. Example value 0.5 will halve the reflectance of material IOR 1.52 (so something like 1.333 I don't know the math from head).
Did I miss something, looks ok to me but I also have brutal migraine right now..
thats something that we can imagine really easily and it works really well