Rendering realistic 3D water can often be a challenging task, requiring complex fluid simulations to accurately represent the movement of water. While oceans generally need to be simulated; lakes, rivers and puddles can be rendered using simple shading techniques.
The key elements to the water shader are:
- Perlin noise displacement – this gives the surface of our water the rippled effect
- Refraction – essential to making any surface transparent
- Index of Refraction – water has a refractive index of 1.333
The demo scene in the tutorial takes only 35 seconds to render on a single GPU(GTX980 4GB) with Redshift, however it should be a quick render in any other renderer. This simple and easy to use water shader works well in different lighting conditions and can be animated by keyframing a single time attribute on the perlin noise generator.