Settings

Theme

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

aestuans.github.io

137 points by aestuans · 24 comments · 1 min read

Reader

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.

14 threads
vrtnis

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

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

    • vrtnis

      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.

jzting

Nice use of smooth union SDFs :)

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

fidotron

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

seanisom

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

  • aestuansOP

    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

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

numberless

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)

  • aestuansOP

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

nand-less

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.

gorjusborg

https://github.com/aestuans/blob

rcarmo

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

max_

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

I would read it.

bun_terminator

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

rigid

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

justin_kempton

Beautiful!

tetris11

super slow on Firefox, naturally

  • seanisom

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

  • taberiand

    Works without issue on my phone, Android Firefox

  • mft_

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

Keyboard Shortcuts

j
Next item
k
Previous item
o / Enter
Open selected item
?
Show this help
Esc
Close modal / clear selection