This project is what lead up to the creation of Surface Waves.
The original simulation was created in Flash, first only using Actionscript. I wanted to dynamically create rivers for arbitrary heightmaps. At some point I sped it up from 15 seconds per frame to 15 frames per second, by using PixelBender for the simulation code.
My first attempts to stimulate water created a lot of noise so I searched around for papers about the subject only to find out that my approach was quite common and that the only problem was my lack of a delta-time variable.
When I started learning Unity, I wanted to figure out if it would be possible to use similar code in 3D. It turned out that it was. I occasionally put some work in when I could, but it wasn't my main focus.
When there was a DirectX 11 competition for Unity, some friends convinced me to enter. I didn't win but I got a lot of positive feedback.
A few months later I decided to attempt making it usable as a product and started developing Surface Waves (although it didn't have that name for a long time)
The version I created for the Unity DirectX11 competition, can be found here.
The old DX9 version can be found by following this link.