So the cool thing about this demo was that I remember when it was first submitted many years ago and thought it a cool demo that demonstrated the viability of WebGL which I expected to take off a lot quicker than it has.<p>But I also recently came across madebyevan.com again by accident after researching the backing of different npm projects to assess which ones had good momentum or commercial backing behind them to assess their long-term viability, and noticed a lot of npm projects (~2M weekly) relying on esbuild [1] as a fundamental part of their build system due to its amazing performance [1].<p>All good except that the foundational part of many npm projects feature is mostly being maintained by a single developer [2], a @evanw who was also prolific in responding to esbuild's issue catering for different peoples issues & feature requests. I didn't think this level of investment in a popular OSS project was sustainable and hoped they had good sponsorship behind them, but was surprised that @evanw [3] didn't have sponsorships enabled which I thought strange as most authors of popular npm projects have good sponsorship, but upon further research it's because Evan Wallace's day job is as the CTO and cofounder of Figma - a popular company with ~10B valuation.<p>Which is great in that esbuild isn't at risk of being sporadically abandoned from its lead developer joining a new/demanding startup, on the other hand a foundational project in npm's ecosystem is being developed in the spare time of a Co-founder & CTO of a ~10B Co - who also creates great demos :)<p>[1] <a href="https://github.com/evanw/esbuild" rel="nofollow">https://github.com/evanw/esbuild</a><p>[2] <a href="https://github.com/evanw/esbuild/graphs/contributors" rel="nofollow">https://github.com/evanw/esbuild/graphs/contributors</a><p>[3] <a href="https://github.com/evanw" rel="nofollow">https://github.com/evanw</a>
I just went through comments from all the times this has been reposted in the past 10 years, and this is (so far) the first time there aren't any complaints about not working in their browser! I'm counting just the submissions that got >10 comments.<p>The previous time, from 2017[1], was already quite good - there was only a single complaint, and that was about someone missing a WebGL extension this needs for floating point textures.<p>[1] <a href="https://news.ycombinator.com/item?id=14432809" rel="nofollow">https://news.ycombinator.com/item?id=14432809</a>
This works on my iPhone in chrome. I really like that. I am aware of the fact that it’s old. The fact that it still works in chrome on my phone makes it more awesome. I’m sure it’s probably elegant and awesome under the hood to make that work.<p>Going to take this positive feeling, eat and ice cream bar, rub my tummy, watch some Babylon 5 and go to sleep with all of these happy feels. :)
The first time I saw this I was in awe of how far we’ve come, realizing the first 3d rendering I ever did took several seconds and was accomplished within DOS. Now we have things like this in the browser running in real time.<p>Since then I’ve had my mind blown several more times, but this demo has a special place in my mind. I was so excited at the prospect of WebGL.
I remember looking at this a decade ago with an old Sony Xperia phone and just being amazed at the possibilities of the web.<p>10 years later it still looks as good as I remember
I'm disappointed "toggling gravity" doesn't actually toggle gravity, just changes the density of the ball.<p>Edit: Looks like I'm wrong about the density. When you load the page the "gravity" <i>of the ball</i> is actually off (but it's at the bottom, so it looks like it's on and dense), and pressing G lets it float up.<p>It's not turning off gravity though. If there was no gravity, the water wouldn't pool at the bottom, so I was hoping to see blobs of water floating around.
"This demo requires a decent graphics"<p>Even being from 2011, the fact that works right on a 2017 low end phone with low battery, is totally mind blowing
It's interesting to think of the reasons we don't have browser-based 3D renderers. Sure, WebGL exists. But it seems like the promise fizzled out, and I'm not quite sure why.<p>Maybe it's as simple as "Steam is the money pipeline, and everyone makes native games on Steam."
At first I thought it was just doing bump mapping on the water surface (with some hack for the caustics)... then I dragged the sphere. Pretty impressive.
I know it's not meant to be 100% perfect simulation of water, but the lack of air bubbles, or the waves not growing in amplitude when I smash the sphere in the water makes it feel really dense and off.
Kinda funny that if I move the ball out of the water slowly, it generates a lot of waves, but if I shoot it in the water or out, it's just a small wave. A few times I was able to yank the ball in or out with no trace at all—though that can perhaps be chalked up to the cursor moving too fast to register the intermediate positions.
So a lot of these are powered by the performance of GPU, is there any water implementation that's suitable to run on a CPU (doesn't have to realistic as long as it conveys the message)?
This demo is more recent, and FAR more impressive in my humble opinion:<p><a href="https://doom-portal-in-webgl.vercel.app/" rel="nofollow">https://doom-portal-in-webgl.vercel.app/</a>