Ray Index of Refraction
All dielectrics have Index of Refraction property (IoR) that affects how it reflects light. For transparent materials IoR also dictates refraction direction.
If you submerge a dielectric into a liquid, it's relative IoR will be smaller - both reflections and refraction will change, submerged dielectrics become less shiny and look less dense. This affects all liquid-solid interfaces. E.g. wine in a glass doesn't reflect light as much, droplets reveal surface they are on. Of course, some of these effects can be implemented by using dynamic paint or booleans, but it is a huge pain in the s and doesn't always work as expected.
I suggest that IoR of the last bounce should be recorded for each ray and exposed in the Light Path node. As an option, Cycles should also divide IoR of the material by the ray's IoR to follow the physics, so that artists wouldn't have to worry about this in their shader code.
4 Comments
Does any other render engine have that option?
A brief search didn't return any results to me. Oblique clues, that only Corona has a concept of that. It also has complex IoR for metals.
Any chance RenderMan 24 has it?
RenderMan has an option intersection priority for dealing with what they call nested dielectrics . Basically that's for solving exactly this problem, except that it also approaches double walls on the liquid-solid interface (which might be a good idea).