WebGL Water (2010)

(madebyevan.com)

220 pontos | por gaws 341 dias atrás

21 comentários

  • ketzo
    341 dias atrás
    Saw the “made by Evan Wallace” and went “huh, that sounds familiar…”

    Yeah, not surprising this guy went on to build Figma! Super cool

  • ByteAtATime
    341 dias atrás
    Back in 2010, this "require[d] a decent graphics card"

    Now, my phone's integrated graphics can run it very smoothly. Moore's law at play.

    • qoez
      341 dias atrás
      I remember this running well on a low end macbook pro back then.
    • ghkbrew
      341 dias atrás
      Here I am running just fine on a 3 year old phone
      • corysama
        341 dias atrás
        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
        • TXCSwe
          340 dias atrás
          Have you heard of KKrieger? So yeah, if you optimize enough, machines can do quite cool stuff!
          • atiedebee
            339 dias atrás
            I think KKrieger required pretty beefy specs for the time. It's a different kind of optimization they were aiming for (code size Vs execution speed)

            Although a friend of mine ran it on an integrated intel GPU recently and it performed great.

      • throw310822
        341 dias atrás
        It's running fine (not too smoothly but ok) on my 8 years old Xiaomi MI6.
        • moffkalast
          341 dias atrás
          My old phone is running it at exactly Uncaught Error: This demo requires the OES_texture_float extension fps
          • chris_pie
            340 dias atrás
            Same on a not-old Pixel 8
            • throw310822
              340 dias atrás
              Works well for me even on a 50€ (fifty euro!) chinese tablet I bought a few weeks ago.
    • ashoeafoot
      341 dias atrás
      The in suit battery driven hamdwarmer he invented it!
  • Exuma
    341 dias atrás
    This is my most voted submission. This thing literally never gets old
    • larodi
      341 dias atrás
      Demoscene never gets old, but why we get then so little submissions of it here? Demoscene reifies the creative-hacking culture, is it not?
      • a1371
        341 dias atrás
        Be the change you want to see
    • Exuma
      341 dias atrás
      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
      • quantadev
        341 dias atrás
        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.
  • 90s_dev
    341 dias atrás
    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.
    • kaesve
      341 dias atrás
      I like https://thebookofshaders.com/ . It’s unfinished and I don’t think it’s been updated in years, but what’s there is pretty good
      • jonplackett
        341 dias atrás
        I second this! Shame it’s still not finished though. I did this tutorial like 5 years ago
    • felipellrocha
      341 dias atrás
      Webgl2fundamentals is pretty great :)
    • akomtu
      341 dias atrás
      shadertoy.com
      • vhcr
        341 dias atrás
        The "problem" with it is that you only learn about fragment shaders, you should also learn about the WebGL API, and vertex shaders.
        • dahart
          341 dias atrás
          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/.
      • 90s_dev
        341 dias atrás
        https://www.shadertoy.com/view/XXyGzh

        ... this is amazing!

        I can't wait to dig in and figure out how to add effects like this over my 2d content!

        • dahart
          341 dias atrás
          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.
  • chrisjj
    341 dias atrás
    "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.

  • asadm
    341 dias atrás
    Wasnt this one of the demo that Figma co-founder used make a case for web-based editor?
  • fulafel
    341 dias atrás
    This is probably the first time (not counting ignored times) it was been posted which doesn't have comments about breakage on some browser.

    Makes you wonder how long it takes that WebGPU reaches the same status.

    • kelnos
      341 dias atrás
      I see three such comments, all posted before you posted. Oh well. I'd hoped you were right about this.
      • fulafel
        341 dias atrás
        Ah, I didn't reload before writing the comment. Oh well.
  • Retr0id
    341 dias atrás
    This has always been my "is webgl working?" test page
  • pjmlp
    341 dias atrás
    After all these years, Android Chrome still doesn't support the extensions required by this demo, this is the issue with Web 3D adoption.
    • ankit_mishra
      341 dias atrás
      Same for me on. Getting this error - Uncaught Error: This demo requires the OES_texture_float extension WebGL Water

      Using - Chrome 136.0.7103.87 Android 15;

    • throw310822
      341 dias atrás
      Works fine for me.
      • pjmlp
        341 dias atrás
        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.
  • bobajeff
    341 dias atrás
    I guess I'm the only one for whom this doesn't work I get:

    'Uncaught Error: This demo requires the OES_texture_float extension'

    • _bin_
      341 dias atrás
      You must be on a very old browser, a terminal browser, ladybird, something like that. PEBCAK. https://developer.mozilla.org/en-US/docs/Web/API/OES_texture...
      • fbrchps
        341 dias atrás
        I'm also getting the error on Android, latest Chrome.
        • moffkalast
          341 dias atrás
          Latest Firefox on Android does seem to work, oddly enough. How the turntables...
      • JonoW
        341 dias atrás
        Getting this error on a brand new Pixel 9 Pro, latest Chrome. Odd
        • ricardobeat
          341 dias atrás
          When this was made in 2010 mobile phones had no WebGL support at all.

          Ironically Chrome was also the only browser that supported it without beta flags, looks like their mobile version never caught up.

        • Maken
          341 dias atrás
          Install Firefox. Not joking.
      • bobajeff
        341 dias atrás
        Nope. Using Chrome 136.0.7103.87 on Android.
  • andrewrn
    340 dias atrás
    Very cool!

    Something I noticed is that you can’t make perturbations on the surface of the water by rapidly moving the ball beneath the water.

    Don’t have time to dig into the sim to know why, but that is a monitor flaw.

    Later edit: ah, looks like rendering was the focus not sim, per the maker’s website.

  • landgenoot
    341 dias atrás
    When you move the ball up, but keep it still under water, you'll see the water level rise.

    Why?

    • tomcam
      341 dias atrás
      To encourage you to file a PR
  • dustbunny
    341 dias atrás
    Is this open source?
  • Traubenfuchs
    341 dias atrás
    …so how does water look like in 2025 on WebGPU?
  • NetOpWibby
    341 dias atrás
    This is incredible. My goodness.
  • A_Stefan
    341 dias atrás
    This example never ceases to amaze
  • earth2mars
    341 dias atrás
    If you are on Android try Kiwi browser to see this
    • vgb2k18
      341 dias atrás
      What does Kiwi do different? The water appears to work well on Brave.
      • notarealllama
        341 dias atrás
        5 year old low end Motorola Android with Firefox and ublock. Smooth as a baby's bottom. Genuinely surprised!
    • satvikpendem
      341 dias atrás
      Kiwi is deprecated by the way, use Firefox or just use Chrome which is what Kiwi was anyway.
      • chris_pie
        340 dias atrás
        Some features of Kiwi were merged to Edge, which means it now supports extensions (any extension if using developer options in Canary)
  • gitroom
    341 dias atrás
    Pretty cool how a basic demo like this still feels fresh, even on my old phone. Always makes me want to mess with web tech more.
  • rbower
    341 dias atrás
    [dead]
  • haidirul
    341 dias atrás
    [flagged]