A few transparent layers to add depth? Or something akin to parallax occlusion mapping?
EDIT - this Shadertoy is remarkably awesome despite only running on a 128x128x128 grid: https://www.shadertoy.com/view/wlG3RW
I'm not sure if this WebGL page is based around this algorithm.
The ShaderToy 128³ cube appears to be quite different. I don't entirely follow what it's doing, but the pressure solve seems to be heavily simplified.
Probably the cheapest way to add a little bit of 3D-ness would be to write the fluid sim to a texture, use it as a height map, and sample the texture a second time while offsetting the uvs slightly based on height map and camera position. Still not a great solution, and would probably only work if it was a wall of fluid in front of you.
Great work though, it's gorgeous!
Check my profile and drop me a line if you'd like.
1 - https://github.com/vurtun/nuklear
2 - https://github.com/keharriso/love-nuklear
It was successful but unfortunately it was killed via a Cease and Desist letter from the Pong people.
There's a web clone of it here: http://anirudhjoshi.github.io/fluid_table_tennis/
Also, last years discussion of this:
It’s a plugin for old winamp so the music part is handled quite well there. The code already uses non-trivial amount of compute shaders, e.g. gaussian blur effect: https://github.com/Const-me/vis_avs_dx/tree/master/avs_dx/Dx...
These things are often designed to run very efficiently and getting maximum effect out of limited hardware and memory. It's perfect for, say, a small indie game looking for a cool background effect or something. I'm sure there's examples, but I couldn't even come up with one.
It was glorious. It was smooth and responsive and maybe-weirdly fun to play with given how simple of a toy this little demo of a website itself represents. I had this momentary feeing of joy.
And then it popped up a dialog asking me to install an app. I think I want to go cry now about how fucked up the world is and how it is no longer possible to have good things on the web :(.
Tiny bit choppier than Chrome but fully working.
Be sure to turn up the quality and res.