Everyone forgets what machines are capable of if you actually optimize. This game did everything shown here in real time on phones 14 years ago https://youtu.be/JDvPIhCd8N4
Here is a trick: pause the simulation and drag the ripples back and forth really fast, it will create a "mega" wave. Then unpause and it will create a massive tsunami
Or pause it and click the water surface 100 times to raise up a lot of potential energy that makes a very profound wave front when it comes down when you start it.
On this note, can anyone recommend basic webgl 2d effects tutorial? I have a super exciting project I'm really close to announcing, but the last step is adding some pretty Animal Well style effects via webgl2, but I know practically nothing about webgl except the very very basics that you learn from webgl2fundamentals.org. Any pointers would be appreciated.
Not having to learn the API & vertex shaders is definitely a feature of ShaderToy, not a problem. :P The extremely low barrier to entry to writing shaders is one of it’s best qualities. Anyway, the question asked about 2d effects, so they maybe don’t need vertex shaders, and they can of course learn the small amount of WebGL API needed somewhere else like https://webgl2fundamentals.org/.
It’s super easy. ShaderToy draws a rectangle on the screen and runs the given shader on it. There’s a small amount of plumbing to wire in a few variables like time & mouse position, and your texture coordinates. The rendering part of ShaderToy is simple enough that you can make your own clone in a day. The rest of the site is the hard part, the editor, the API & saving shaders in the cloud, getting lots of people to write awesome shaders, etc., but the rendering part is near trivial.
"Uncaught Error: This demo requires the OES_texture_float extension
WebGL Water
Made by Evan Wallace
This demo requires a decent graphics card and up-to-date drivers. If you can't run the demo, you can still see it on YouTube.
Interactions:
Draw on the water to make ripples
Drag the background to rotate the camera
Press SPACEBAR to pause and unpause
Drag the sphere to move it around
Press the L key to set the light direction
Press the G key to toggle gravity
Features:
Raytraced reflections and refractions
Analytic ambient occlusion
Heightfield water simulation *
Soft shadows
Caustics (see this for details) *
* requires the OES_texture_float extension
* requires the OES_standard_derivatives extension" on Android Chrome.
Actually, I just cross-checked on WebGL Report, and it does indeed support the extension, not that changes having a black page complaining the extension is missing.
Yeah, not surprising this guy went on to build Figma! Super cool
reply