
WebGL Fluid Experiment (2014) - maxraz
http://haxiomic.github.io/GPU-Fluid-Experiments/html5/?q=Medium
======
haxiomic
Hey, I feel bad for not updating this demo in 6 years! Back then it wouldn't
run on iOS, today it could run with no trouble

For people on iOS, here's another version with rainbow colors and multi-touch
[https://haxiomic.github.io/demos/rainbow-
fluid/index.html](https://haxiomic.github.io/demos/rainbow-fluid/index.html)

If you like this sort of thing and want to learn more about it I recommend
checking out [https://www.shadertoy.com/](https://www.shadertoy.com/) for more
demos and [https://thebookofshaders.com/](https://thebookofshaders.com/) for
tutorials

And if GPU simulations is your thing then I think you'll enjoy what these two
amazing guys are doing with shaders:

\-
[https://www.shadertoy.com/user/michael0884](https://www.shadertoy.com/user/michael0884)

\-
[https://www.shadertoy.com/user/wyatt](https://www.shadertoy.com/user/wyatt)

~~~
nitrogen
FWIW the rainbow link gives this console error in Firefox on a Surface Book
with Intel graphics:

    
    
        Uncaught TypeError: rgHalfFloatLinear is null
    

I assume that means it doesn't support 16-bit float pixel formats; maybe this
is something that could be detected and shown as an error message in the page?

The original HN link works great, though, very cool!

~~~
haxiomic
Ahh that's a shame, yeah looks like 16-bit float textures aren't supported but
32 bit are. Thanks for the heads up – I should really be checking if either
are supported here!

------
kipple
At first I expected this to be some new version, but nope, it's the original.
I love that this repo[0] hasn't been touched significantly in 6 years and it's
still going strong.

[0] [https://github.com/haxiomic/GPU-Fluid-
Experiments](https://github.com/haxiomic/GPU-Fluid-Experiments)

~~~
soylentgraham
Given that the original commit is clearly a giant copy&pasta from somewhere
else, not surprised there is little development or changes as time goes on

~~~
soylentgraham
Oh, my bad, this the copy&pasta one [https://paveldogreat.github.io/WebGL-
Fluid-Simulation/](https://paveldogreat.github.io/WebGL-Fluid-Simulation/)

~~~
jchw
Trying to figure out what you are suggesting with the copy/paste stuff. I
looked at the first few commits in both the PavelDoGreat repo and the haxiomic
repo and see no obvious signs of copypaste. PavelDoGreat's initial commits
start with initializing WebGL, seems reasonable. haxiomic's starts with a
README and then a code drop, again, doesn't seem too unexpected. I also doubt
one took from the other since one is Haxe and the other is JS.

------
nemacol
This is fantastic. Runs really smooth, the color and design looks wonderful. I
could lose few afternoons playing with this thing.

Looking forward to the app. Would be fun to manipulate the sim by moving my
iPad around.

Potentially fun ideas...

Allow me to place shapes/blocks down and lock them in place to see how the
fluid moves around them.

Let me put a small 'pump' in the liquid to keep constant or pulsed movement.
add a couple dials for pump speed, etc. I want to put two pumps facing one
another and watch the interaction where they meet.

Different pool shapes - round, star, sphere?

Allow for particles to reach the edge of the pool to fall off and then let me
drop new ones into flowing water.

Loads of fun. Thank you!

------
jchw
There is also this one, and the corresponding iOS app (which I have.) It seems
to run a bit faster on my phone.

[https://paveldogreat.github.io/WebGL-Fluid-
Simulation/](https://paveldogreat.github.io/WebGL-Fluid-Simulation/)

~~~
jedimastert
The README links to the original as a reference!

------
madjam002
Nice, the effect reminds me of Powder Game ([https://dan-
ball.jp/en/javagame/dust/](https://dan-ball.jp/en/javagame/dust/))

~~~
otterpop
At least give me some warning before you link to it; I'm gonna be playing it
all day today :)

~~~
ljf
Man there was some game similar to this called Sand Sand Sand, that I was
totally addicted to. I showed my kid recently and he loved it too, timeless
fun!

~~~
thedrbrian
There’s also the stand alone Powder Toy which has more powders and saves and
such

[https://powdertoy.co.uk/](https://powdertoy.co.uk/)

~~~
snazz
And the modern web-based incarnation Sandspiel, which was extremely popular on
HN a while ago:
[https://news.ycombinator.com/item?id=18696291](https://news.ycombinator.com/item?id=18696291)

------
blauditore
Tangentially related: For a long time I've always been looking for some
software for particle simulations that is free or even open source, easy to
get started, and at least somewhat visual. I'm not doing anything like that
professionally, just want to play around with a virtual wind tunnel for the
fun of it. I'm thinking of something like Blender where I would click together
a 3d mesh, "turn on" wind and see what happens.

Does anyone have tips or hints? Are my expectations perhaps unrealistic? I
looked into OpenFOAM before but always eventually gave up, as it seems quite
heavy on headless, scripted simulation, and would need some significant run-up
time.

~~~
jpm48
Specifically for fluid (and similar) you could have a play with mantaflow
[http://mantaflow.com/](http://mantaflow.com/) it's relatively easy to build
(you will need Qt and Python). Houdini (free apprentice version will work for
fun) is great for particle effects and this sort of stuff as well
[https://www.sidefx.com/](https://www.sidefx.com/)

------
utf_8x
Damn, the performance on that is really impressive.

------
_ZeD_
It reminds me of
[http://minimal.be/lab/fluGL/index80000.html](http://minimal.be/lab/fluGL/index80000.html)

------
Razengan
Would be even more fun if such things (including the Powder Game) were also
affected by device orientation/gyroscope/accelerometers.

------
LoSboccacc
all these simulators out there and still not one remake of plasma pong

~~~
tyingq
[http://anirudhjoshi.github.io/fluid_table_tennis/](http://anirudhjoshi.github.io/fluid_table_tennis/)

No good for mobile, but perhaps someone could fix that.

~~~
exikyut
There's a paid Android app linked from that page. You are technically correct
that the [free] webpage indeed not work on mobile.

~~~
LoSboccacc
I'm fine with non free thanks both for the links and the tips!

------
dang
Discussed at the time:
[https://news.ycombinator.com/item?id=8502477](https://news.ycombinator.com/item?id=8502477)

also
[https://news.ycombinator.com/item?id=8325700](https://news.ycombinator.com/item?id=8325700)

------
holoduke
just out of curiousity, but how does the algorithm roughly works. does every
pixel/particle position gets calculated? or is it optimized by smart grouping?
is the GPU used for paralell computing? very interesting stuff to heavily
optimize I guess.

------
inetsee
The title seems to imply that it needs a touch screen device. It seems to work
just fine on my desktop with a mouse.

------
octernion
i'm constantly amazed at what can be done with webgl these day (shame about
the iOS support). surprised we don't see more immersive games with this tech!

------
codetrotter
Doesn’t support iOS

~~~
gen3
Here’s one that works on iOS. It also has an app.
[https://paveldogreat.github.io/WebGL-Fluid-
Simulation/](https://paveldogreat.github.io/WebGL-Fluid-Simulation/)

------
imvetri
ha ha ha, outer space is a simulated fluid.

~~~
imvetri
with that assumption, it gets easier to build an eye observing an
eye....observing an eye observing a thing.

~~~
imvetri
Neural network learning models are good, but it scales well only when NN
watches a NN watching an NN being trained with a data.

~~~
nullc
To be sure that you're not a NN yourself, I should require you to draw a
triangle.

~~~
exikyut
_[Triangle is distorted by unseen fluid]_

~~~
imvetri
Triangle connected by three eyes.

~~~
exikyut
With 60° fields of view :D

------
designium
That's very fun and relaxing!

------
monkeydust
Therapeutic... I mean really.

------
peacefulhat
iOS not supported. Ridiculous that iOS doesn’t support WebGL 2.0

~~~
ry4nolson
[https://news.ycombinator.com/item?id=24062471](https://news.ycombinator.com/item?id=24062471)

------
Ataraxy
Very satisfying effect.

------
suyash
beautifully made!

