Hacker News new | past | comments | ask | show | jobs | submit login
Show HN: A simple 2D fluid and gravity simulation with WASM and WebGL (aestuans.github.io)
137 points by aestuans 6 months ago | hide | past | favorite | 24 comments
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.




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


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


while it's true that wasm was originally designed to run primarily on the cpu(e.g., executed in a sandboxed environment on the main thread, which is generally managed by the cpu), the assumption that wasm only runs on the cpu might be becoming a bit dated. esp. as a result of webgpu and frameworks mentioned above, wasm is increasingly capable of executing on the gpu imho.


Nice use of smooth union SDFs :)

I did a similar thing in 3D here: https://generator.artblocks.io/62000470


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


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


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.


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


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)


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


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.



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


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

I would read it.


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


Good point, added touch support :)


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


or shake the phone

Is the accelerometer data available?


yep. android 13


Beautiful!


super slow on Firefox, naturally


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


Works without issue on my phone, Android Firefox


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




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: