One thing that can be done is playing around with the numbers / uniforms in the fragment shader to change the look. For many use cases you can get pretty far with that without actually changing the implementation in this demo.
If a more physically based level of realism is needed (like the water ripples on click in the demo that you linked) you can use techniques like height simulation based on a wave equation [1].
You'll of course need to balance realism with realtime feasibility - but often times getting a much better look comes down to tweaking some numbers until things look good!
[1] - https://developer.nvidia.com/gpugems/GPUGems/gpugems_ch01.ht...
> The way that the water appear to move comes from slightly altering the point on the refraction and reflection textures that we sample from every frame. > > These slight offsets comes from sampling a du/dv map, which is just a texture that encodes different x and y offsets.
The app in the link you posted does indeed look like it's solving at least a shallow water system of equations, and looks very excited to me as a wave physicist.
You can skim through my papers at https://milancurcic.com/publications. There is also a nice short video where my boss describes what we do in the lab: https://www.youtube.com/watch?v=B6c20IqR2mw
https://www.figma.com/blog/building-a-professional-design-to...