Realistic Water shader

A while back I was looking into making a nice looking water shader. It took quite some time and experimentation but finally I made a nice node group to easly create a nice water surface.

Before I waste any more of your time:
Yes I did make a paid product, but I also wanted to share a free version of it that has all the basic features thats needed for a nice water.
The free download is here: https://mart0nnn.gumroad.com/l/simplewater

A little breakdow of what I made:


Everything is contained in a shader node group, but I tried to make it so that you can customize the water as much as possible. Also everything is animatable.


And it includes dispersion and caustics as well:
Caustics anim0001-0048

And this is what the water shader looks like from the inside:

I also made a rain ripple generator that outputs a greyscale mask of ripples. To make this I got most of the knowledge from CG Matter in this specific video: https://www.youtube.com/watch?v=1eKkbgOaykw
Rain anim0001-0048

The flow map was an interesting addition to the shader… So what I did is that I put all the objects that I wanted to affect the water into one collection then using the geometry proximity node in Geometry nodes. Then I transfered that data to the shader nodes. This gave me a greyscale map of proximity data that I could use to drive the vector of a combination of wave and noise textures.
This gave a pretty cool effect where the water surface looked like it was somewhat reacting to the geometry of the selected collection.
flow0001-0048

Also utilizing the geometry proximity is a geo nodes system that distributes leaves along the shoreline. This is just to add debris close to objects in the water.

I also made a geo node system that spawns raindrops onto the water surface:
ezgif-1-dd33934c81
raiiin0001-0048

This randomly spawns raindrom cards onto the surface of the water, and to add even more features, i made another geo node group which spawns raindrops on the surface of any object in the selected collection. In this I also made sure that the rain is only spawned on the top surface by separating the geometry by its normal Z axis and running it through a compare node.

Anyway… I spent lot of time experimenting and optimizing this project to make it as easy to use as possible. If you do want to get your hands on everything that I put together in this project you can get it on blendermarket for 4 dollars. And as I already mentioned I also made a free simpified version as well.

If you have any questions just feel free to ask!

31 Likes

Looks great, nice work. :+1: I might pick this up when I get a chance.

1 Like

This looks like really good work. I am not sure if I will get it when I get paid this month but it is clear that a lot of effort and thought went into it.

Sometimes I want the simplest possible shaders in my scene so I would make one for the individual scene that just has the features needed for that render. This would render faster but of course means making a decent water shader each time. Given your low price I will probably pick up yours anyway just for when I am feeling lazy.

Whether I buy it or not it is good shader work.

1 Like

Thanks for th kind words!
Yeah, speed optimization is something I did not really take into consideration when making this shader. Especially if you want to have nice water volumetrics, then I usually set my volume light bounces to 2, and that does add to the rendertime.
In the shader you can also turn off most of the effects like the dispersion and caustic that might need more samples to look good.
And you can alway first take a look at the free version to check out the overall quality!

Thanks!
I am glad to hear that!

I featured you on BlenderNation, have a great weekend!

2 Likes

Wow, u give us for free in Gumroad! :smiley:

The gumroad version is a simplified version of the water shader, but it is enough to get a realistic look.

1 Like

OK, I bought this on Blender Market. If I can I’ll make a short animation with it before the end of June and post a link here. No guarantees, I have a lot going on at the moment so life is busy, but I will certainly try and find the time.

Thanks!!
I’m exited to see what you will make with it!