I made this to try to learn something about interactive web development. This was primarily tested on Google Chrome; to increase performance on other browsers or older mobile devices, decrease the number of particles and/or set the rest density to zero. If performance is bad or the fluid behavior is super crazy, update Chrome -- I've noticed sometimes Chrome updates can cause performance issues which subsequent updates fix.
See a live demo here: https://mjwatkins2.github.io/WebGL-SPH/
Responds to mouse movement on desktop, and touch input on mobile:
Responds to window movement:
Another example: