Real-time shader made in UE4. Personal project.
The water itself is pretty simple. It's Gernter waves, with some normal distortion, fresnel for the color and some distorted textures to fake water sparkles. The water transparency is faked as well by using some depth fade. The most challenging part was the foam. It has been done by using distance field as masks and animating them to give the illusion of the foam, getting larger or tighter as the water goes up and down.