Water3Example has strange refraction

I created a very simple scene with a few cubes, spheres and the water 3 example. I also set as much settings to off as possible. Bug somehow, the refraction that is left looks like a skewed reflection. I am certain that it is NOT the reflection, because the reflection is turned off. And when I turn it on, there are 2 reflections in the water. One is correct, the other one the skewed one.

strange refraction

The settings are as follows:



  • Reflection is off
  • The waves are off
  • small waves are off
  • Fresnel is off

These settings are just for testing.

The image in the water looks like a mirrored image of the scene, but it's definitely no reflection. Which looks like this. There are three ellipsoids now:

with reflection

What is wrong? How do I fix this? There is only one camera in my scene.


Although @Statement gives a very good description of what is wrong, it is not an answer to the question. If someone reads this question: please consider the answer of @Statement as an addition to this question. I’m still looking for an answer. Is this really a bug in the Water3 Example?

Hey, odd effect. So refraction is the one thing that become wrong? I don't have that shader, nor pro, so I can't tell exactly what is wrong. To me, it looks as if the refraction rays bounce off in the wrong direction (they seem to bounce back up, instead of bounce into the surface interior).

alt text

This suggest an issue with either the way the refraction is calculated in the shader, or the normals somehow end up incorrect (either vertex or bumps), or it somehow render the back side of the water mesh.

What you could try is make sure you don't use a cube for the water mesh, and if you do, make sure the bottom is obscured with some other mesh like the terrain. You can also try turn off any bump maps or anything else that may alter the normal of the surface.

However, since the reflection also use normals, it's hard to argue that the normals would be incorrect since if they were, the reflection would also be wrong, but the reflection seems to work just fine.

I am puzzled :)

Comment contents:

I took the "refracted" image and flipped it vertically. It's hard to tell from the small image but close up you see that all pixels are placed identically, which wouldn't been the case if the projection was skewed or rendered from another point of view. To me, it seems it is a mirrored version of the viewport to the pixel.

Refracted mirrored

Left version is the scene above water. Right version is the refraction of the water.

Close up

Close up on the closest ball with a yellow cube (?) behind it. Similar pixels suggest same view is used.

Hey, you told me to have a look, so yeah! You need one separate material for each instance of water you have- this usually fixes the bug! So just duplicate the material, and assign it to your other water.
I hope this helps you.

if you turn the Fresnel power to zero the fake reflection should be gone.

at least that worked out for me; don’t know what the fresnel should be doing instead of those weird reflections.