Water and Fresnel

Started by
7 comments, last by ongamex92 7 years, 9 months ago

How come puddles and lakes are so reflective even though water is said to have a Fresnel F0 of something like 5%?

Advertisement

F0 is "reflectance at zero incidence", so reflectivity when looking straight down at a puddle on the floor. Water is mostly transparent when viewed at this angle.

When you view a puddle at a glancing angle (e.g. one in the distance / seen from the side), it becomes more reflective as the Fresnel function basically blends from F0 towards 100%.

When you view a puddle at a glancing angle (e.g. one in the distance / seen from the side), it becomes more reflective as the Fresnel function basically blends from F0 towards 100%.

But that statement holds true for basically any material, no? Every material reaches full reflectivity at 90 degrees.

Image.jpg

What is it about water that makes it more reflective than other materials? Is it roughness?


Is it roughness?

No. Roughness is just "how blurry the reflection is". In reallity there is no "Roughness" in that sense. it is just a surface approxiamtaion technique, because using high poly models that have a bunch of really tiny faces(also called micro faces) is still too expensive.

As you can see in the diagram, whater is actually not that reflective compared to alluminium or silver(these are the main materials that are used in mirrors).
I really can't answer you question why the wather is reflective at 90 deg view angle, I currently live with that knoledge but you could easily google that and see the explanation.

What is it about water that makes it more reflective than other materials? Is it roughness?

What makes you say that it's more reflective than other materials?

A still pool of water will be almost perfectly smooth, so the weak reflections that it does have will have very little blurring occurring... which might make you notice them more, but there's actually very little energy being reflected off water at zero incidence.

First when clean water is looked on directly it transparent with some light is distorted(IOR). Then Fresnel makes it look reflective at a angle, if the surface is distorted the Fresnel will make it look more reflective.

L9FZT6t.png

Here is a simple example made with Blender Cycles, Blue is transparent and red is reflecting based on Fresnel. From a angle we can see more reflection and even directly there will be reflection because of the shape of the mesh.

Now imoogiBG isn't wrong, when we talk of materials and mention it's roughness we talk about small microscopic deformations that can't be shown unless you use very large textures. A reflection is often blurred to show this effect, it's more complicated than that but it's a good way to think of it.

A rough surface has a lot of obscured reflections.

A materials roughness will be presented with a roughness map.

The deformations that can be seen and presented on a texture is shown with a normal map, hight map, cavity map or is model onto the mesh. Think of these as deformations not roughness.

Water is very smooth that is why it shows clear reflections and is transparent most of the time, here is a example: http://elephantmountaindotorg.files.wordpress.com/2012/04/dsc02998-puddle-sun.jpg

When water is looked at a angle it will reflect perfectly because it is smooth: http://www.bcx.news/photos/art/reflections/water/OnWaterReflection20060000_08.jpg

A reason people think water is more reflective, than normal, is because they are thinking of dirty watter: http://www.bcx.news/photos/art/reflections/water/OnWaterReflection20060000_07.jpg

You can see in this image that the shadow parts should be transparent, the dirt in the water makes it look like you are seeing a full reflection of the tree, when instead your seeing a outline of the tree colored in by dirt. Your brain recognizes the shape and tells your eyes it's a tree it is seeing.

If you have a hard time believing that the trees will be seen as a reflection look at the thinner branches.

Hope this helps.

Edit:

Bricks are rough, when looked from a angle you will see it start reflecting colors like blue for the sky, however it should never show the reflection clearly unless it has smooth parts.

Everything has fresnel.

HMOLhyt.png

Given enough grazing angle, every surface will look like a mirror. Problem is some surfaces are really non-smooth or the grazing angle must be so steep we can barely notice a discernible reflection because it becomes very thin.



Everything has fresnel.

Given enough grazing angle, every surface will look like a mirror. Problem is some surfaces are really non-smooth or the grazing angle must be so steep we can barely notice a discernible reflection because it becomes very thin.

I want to clear some thing up, it's true every thing has Fresnel, however not every thing is a 100% reflective at a angle to the human eye.

Because a person can see a object, with his eyes, from only two angles at most.

The reason for this is the roughness of a surface.

4ZiZglM.png

In the above image we can see at what angles the surface would start to reflect. The rough surface consist of uneven smaller surfaces so not all surfaces will have the same Fresnel angle, however in this example more than 50% faces the same direction and will reflect to the same points.

The result is that the reflection will be blurred to a human viewer who will be looking at the object from one angle, the rougher the surface the more distorted the reflection is to the viewer as light bounces around.

Back when I first started 3D, we knew all this however it wasn't possible to do the real calculations yet, so we faked it.

YTTzgq1.png

First we would make a fake gradient to take the place of Fresnel and map it to the normal, next we faked reflection(I am just using a windows sample picture), we would then blur it to make it look like the surface was more detailed than it really is and last we would map the reflection to the object using the gradient as a mask.

Today reflections is a combo of real and fake, the quick Fresnel option in Unreal 4 is still a gradient and rough surface still get blurred only in a smarter way. The thing is that these methods produce good results, fast and in the future I believe they will remain as a fallback.

http://i.imgur.com/pVMmSo2.mp4

This was also used to make glass and other transparent materials like shields and to give the peach fuzz edge to objects.

The .Blend for people looking to see how it works, can still use it in mobile games.

https://drive.google.com/open?id=0B3hHgiNtHATdcG9ReWpjRDBabVU

Edit: Skipped a step with out realizing.

Emv4BYJ.png

This is why the texture is blurred. The image shows a simulation of a rough surface and how it distorts a reflection, this happens on such a small scale that it only makes the reflection look blurred.

Everything has fresnel.

HMOLhyt.png

Given enough grazing angle, every surface will look like a mirror. Problem is some surfaces are really non-smooth or the grazing angle must be so steep we can barely notice a discernible reflection because it becomes very thin.

#t=2m18s :D

This topic is closed to new replies.

Advertisement