top | item 40294660

Show HN: A simple 2D fluid and gravity simulation with WASM and WebGL

137 points| aestuans | 1 year ago |aestuans.github.io

The little particles will gravitate to your cursor (or touch location), and can even enter stable orbits if the conditions are right!

Mainly an excuse for me to experiment with wasm and WebGL, but it makes for a surprisingly good fidget toy.

24 comments

order

vrtnis|1 year ago

very cool! if you're exploring wasm for graphics, take a look at Wander- lets you create and execute "renderlets" — portable modules containing graphics data and code compiled to wasm https://github.com/renderlet/wander

CSMastermind|1 year ago

This is probably a dumb question but I assume anything leveraging WASM can only run on the CPU?

fidotron|1 year ago

How did you decide to divide the work between the wasm and webgl?

seanisom|1 year ago

This is pretty cool - great to see what a small codebase can do with raw WebGL. Have you looked at WebGPU at all?

aestuans|1 year ago

I wanted something that can run everywhere and WebGPU support is still behind some flags in Firefox and Safari I think, but I'm pretty excited about trying that as well.

airstrike|1 year ago

This is great! If you're looking for ideas on how to extend it, I'd love to be able to play with some of the parameters, or have presets to pick from. At some point I tried spinning it like a pizza dough but obviously these are way too liquid for that

Its_Padar|1 year ago

Very nice! Took me a while to realise it has mouse based gravity but very good! (I clicked directly on the link on a mobile device without checking here)

aestuans|1 year ago

Thank you. Yeah mobile support was an oversight from me, I added touch support now.

nand-less|1 year ago

This is really neat. I bet if you made the blobs follow a target point that moved around randomly it could make a good screensaver animation.

rcarmo|1 year ago

This has great potential as a cat toy (provided you get a tough touchscreen)

max_|1 year ago

This is interesting. You need to post a write up.

I would read it.

bun_terminator|1 year ago

aww why does it not follow my finger as it does my cursor? this would be so fun!

aestuans|1 year ago

Good point, added touch support :)

rigid|1 year ago

mobile users should tap the canvas for the particles to move.

mentos|1 year ago

or shake the phone

Is the accelerometer data available?

tetris11|1 year ago

super slow on Firefox, naturally

seanisom|1 year ago

Working fine for me on Firefox - their WebGL support tends to be good enough, although there are plenty of other resource issues.

taberiand|1 year ago

Works without issue on my phone, Android Firefox

mft_|1 year ago

60 fps for me in Firefox, with the processor <1% while running. 3060Ti was working, but not hard.