I want to showcase my work on rendering water and terrain in a procedural manner using a lot of tricks. You may try it on https://pirratas.com
The textures we used to render the terrain, the water caustics and foam and some random textures for uv displacements and so forth. We also use the depth buffer as a pre render phase to render foam on dynamic objects. This was explored and used previously on these forum, thank you.
We do a lot more with our engine, resource management, space partitioning, collision detection, object editing, hightmap drawing on a canvas and so on. To further details you might be interested on watching our editor and explanations on youtube: https://youtu.be/SNuoLlCsWYU