Other render engines have two IOR values - one for refraction, and one for reflection. But in Cycles there is only one and documentation states it only affects refraction.

Yet with transmission set to 1, it does seem to drive reflection as well.

In the picture example below, both planes are using an identical material except on the left IOR is 1.1 and 1.5 on the right.

It certainly looks like IOR is driving reflection as well, despite the description in the documentation.

Just confirming if this is true?

Example of IOR effects on Reflection


TL;DR: the specular value controls the IOR for reflection, the IOR value is indeed just used for refraction.

Background info: The principled BSDF-Shader is based off of disneys principled BRDF. It's called principled because of these 5 principles:

  1. Intuitive rather than physical parameters should be used.
  2. There should be as few parameters as possible.
  3. Parameters should be zero to one over their plausible range.
  4. Parameters should be allowed to be pushed beyond their plausible range where it makes sense.
  5. All combinations of parameters should be as robust and plausible as possible.

Because of their first principle (easy instead of scientific) Disney decided to cloak the fresnel-IOR in a specular reflection value. This is of course a more artistic approach.

from the disney docs: specular - incident specular amount. This is in lieu of an explicit index-of-refraction

and from the blender docs: Specular Amount of dielectric specular reflection. Specifies facing (along normal) reflectivity in the most common 0 - 8% range.

You can use the formula π‘ π‘π‘’π‘π‘’π‘™π‘Žπ‘Ÿ=((π‘–π‘œπ‘Ÿβˆ’1)/(π‘–π‘œπ‘Ÿ+1))2/0.08 to create a node group so you can control both IORs with one slider.

Note that the specular value accepts values above 1.

| improve this answer | |

Your Answer

By clicking β€œPost Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.