I made a simple pool with some water (plane). Works fine from above - shadows coming through the surface and being refracted by the water. But when I take a camera below the surface, the shadows disappear (or rather, the light disappears).
Only way to get them to appear in under-water camera is to set IOR on water to 1.000 or delete it. Is this the expected behavior?
It’s a very good catch, in fact.
I’ve notified the interested party, will update you as i’ll know more.
For now, as a workaround, set the depth to a high value (say, 1000), turn off “Affect Shadows”, turn on Caustics, set them to progressive, and leave the options alone.
Finally set the engine to progressive, and render away.
This is what you’ll get (after a minute on a slow CPU).
I’d argue that this should work - with or without caustics.
Just made a test of a house with glass windows (planes - in my test). Same issue. Looking in from the outside it looks fine. If I pop the camera inside the house - no light coming through the windows. However, if I put a shell on the window (plane) object, then it works - light coming through as it should.
This seems like a bug or an oversight.
Edit:
Thanks, ^Lele^. Wrote the above before I saw your post. Looking forward to an update/info.
Edit2:
And I understand how to get caustics in there. I’d just like the option of good old regular light and shadow as well.
That may be the case, but I think that’s a bit counter intuitive in the case of my example, being below the water, inside a swimming pool, for instance.
Image A: Water is shaped like a box - which we are inside - so technically a volume, but I know, the light only passes through one surface at top as we are inside of it. Caustics look like i expect - but the only way to have shadows (as far as I have tested) is by also having caustics.
Image B: Same water box, but now it has a very thin height - so we are looking up through both the “in” and “out” surface. I don’t like the look of the caustics in this one - and the water looks wrong, but I get why they look different.
I don’t see a reason shadows/light shouldn’t just “work” when observed from “behind” a flat refracted surface. In the example above (because I do like splitting certain stuff into passes and not “rely” on caustics) it would mean having two unique water meshes for the separate passes - which may create unwanted artefacts in the displacement when one of the surfaces goes from being flat->displaced to thick->displaced.
TLDR: If this is just how it is, then it is possible to work around, sure. I just prefer less working around.
In the meantime you can use the old trick of enclosing the camera with a sphere with inverted normals that has the same material as the water; it should work fine.
@vlado Thanks! Just tested the inverted sphere trick and it looks like it’s working - but I guess it could create some funk when there’s IOR on the water material - or more complex textures?
Looking forward to the update.