http://www.youtube.com/watch?v=3GOyX71mKwQ
Background Some time ago I created already a shader for this. Because I wasn't 100% glad about it I tried to optimize my results.
Why not just use a glass shader? In the second picture you see the result of a normal glass material being used as a water shader. The problem is that water absorbs light the more the light travels trough it. A normal glass shader will show every object regardless of how deep the object is positioned. My old shader simply just blurred that object, the new one doesn't.
How does it work? Each material is given a Node-Group called "Fake_Volume". Instead of actually computing volumetrics the object is simpy rendered a gradient transparency below the water surface.
Blenderartists thread: https://blenderartists.org/t/look-into-the-water-shader-recreation/562175
Falloff: Influences the visibility ramp below water surface
Turbity: Overall visibility below water surface
Color Influence: Influence of the water color
Color Depth: Influences the water color ramp
Water Color: Color of the water below the surface
Camera Falloff: Visibility falloff based on the view distance
Thanks! :) Yeah, it's not done yet - I want to give it a bit more options and customizablity and study why water actually behaves differently as you explained. This is defintely a good read: http://www.fxguide.com/featured/assassins-creed-iii-the-tech-behind-or-beneath-the-action/
Perhaps it depends what is living in the water.
Even along a twenty mile stretch of the South East cost, the water looked and behaved differently at different points.
Seaweed can disperse particles that cloud the water. Added to which the English Channel can get quite choppy, churning the seaweed beds and dumping the loosened weed onto the shingle.
It was well known that the coast of Worthing, when I was growing up, was blighted by massive seaweed beds and I am so thankful that I didn't live there. The smell could get overpowering in the height of summer ...
My beach was nice and sandy with quite a bit of seaweed but much less than Worthing had, so it was ideal.
I believe what you are talking about is called the "turbidity" of water. Turbidity is a measure of the 'cloudiness' of a body of water. There are many causes: silt run-off, plant and animal activities, local currents and tides, weather, etc. Turbidity determines how far into the water you can see. Other factors, (such as the color of the runoff, the presence of algae, and --most of all-- sky color), will determine the color of the 'cloudiness', and thus, the water. Hope this helps.
Oh, and yes, you have created a beautiful (and much needed) effect. Thanks!
Thanks for the info! Yes, "turbidity" was the word I was searching for. I'll do some research into that :)
@FayZee Let's be glad we can't render smell :D
Really awesome, mega simple and really helped my blending! thanks man
Thanks bro! I'm baffled people are still using this shader though your comment is 3 years old, but the shader was released 7 yrs ago.
I might look into a 2.1 version, updating if for Blender 2.8/2.9 to make use of the new features and make it more performant, so you dont have to solely use real volumetrics.
This is very realistic.
In the waters of the Caribbean close to the shore, where it is quite shallow, you can usually see objects below the water line, like in your second picture of the normal glass shader, though a bit more distorted.
But I grew up across the road from the shoreline of the English Channel and your "Fake_Volume" Node-Group exactly matches my experience.
Well done!