WebGL Water (2011)
madebyevan.com
madebyevan.com
https://www.youtube.com/watch?v=pfonMfP__Ks
In open source field there is Mantaflow that available in Blender, but it's of course not solution for real-time.
The effect: https://29a.ch/sandbox/2012/terrain/
The slides that explain: https://29a.ch/slides/2012/webglwater/
[1] https://gimletmedia.com/episode/44-shine-on-you-crazy-goldma...
And the water works very well in all browsers except Servo.
Didn't know Evan is co-founder of figma.com - maybe that's why the app feels quite snappy in the browser.
Shameless plug: if anyone is interested in working with us on Figma, we're hiring. https://www.figma.com/careers#jobs
http://jsexperiments.herokuapp.com/sph/
source: https://github.com/asadm/SPHjs
Sure, you can en/decode yourself, but faster in silicon.
Sure, there's openCL, but it's more fiddly, gives worse performance, and no-one uses it.
Maybe it has some significant cost in power consumption. Perhaps adding it to the silicon reduces power efficiency even when it isn't being used.
Note that:
- 32-bit float texture filtering is not required to be supported, as it may cost significant area.
- Floating-point framebuffer support is not required, due to patent issues... :S
Individual vendors can of course expose that extension, provided they have a license.
Edit: it looks like ES3.2 requires support for floating-point framebuffers, so presumably the patent issue has been resolved somehow.
> In an effort to gain the advantages conferred by operating on a floating point basis, some prior art systems have attempted to perform floating point through software emulation
> But as advances in semiconductor and computer technology enable greater processing power and faster speeds; as prices drop;...it has been _discovered_ by the present inventors that it is now practical to implement some portions or even the entire rasterization process by hardware in a floating point format. [emphasis added]
> Hence, due to the improvements in processor speed and other improvements that make it practical to operate on large amounts of data, it is now possible and cost beneficial to utilize the valuable information that can be provided by the frame buffer.
It's a good idea, but obvious - everyone was waiting for this inevitable improvement. Their idea of floating-point-all-the-things is also good, but just a matter of engineering. They don't disclose their exact engineering, anyway; but just patent the general idea.
> Thus, there is a need for a graphical display system which predominately uses floating point throughout the entire geometry, rasterization, and frame buffering processes. The present invention provides one such display system.
I'm surprised it was granted, and I don't think it would upheld in court - but it doesn't need to, it's just another plank in the patent portfolio.
I remember that the initial fbdev-on-linux folks showcased their drivers with well known animations[1] at 4-digit frame rates and never had to answer performance questions again.
[1] IIRC something like glxgears and some 3d-tubes screensaver - might have that wrong though, that was about 17 years ago.
Uncaught Error: This demo requires the OES_texture_float extension
I've seen this before though on Reddit, pretty cool how well it works on Mobile.
Also I realize OP may not be related to the post/created it and I should file a bug or whatever, I'm just posting it here.