tuxalin / water-shader

Procedural water shader for general use.
MIT License
292 stars 27 forks source link
displacement foam hlsl procedural reflection shader unity3d water

Procedural Water

A procedural water shader, multi platforrm support(Unity, GLSL, HLSL), for a variety of water types.

water-main

Features

The water shader is designed for various water types: lakes, ocean and rivers.

Current implemented features are:

Usage

The shader requires refraction and reflection maps of the scene, the refraction map also requires the depth. See the textures folder for examples of sky, shore, foam, height and normal maps.

Certain features can be switched off via the following defines:

Preview

video

water-prev1

Composition of the water(final, shore, refraction+depth colour, reflection + distortion, diffuse + ambient, normals): water-layers

water-settings

Future improvements

Planned improvements are:

Contributing

Based on:

Bug reports and pull requests are welcome on GitHub at https://github.com/tuxalin/water-shader.

License

The code is available as open source under the terms of the MIT License.