64 comments

[ 2.9 ms ] story [ 126 ms ] thread
Toggling the options seems to add records to the browser history, which means it takes a bunch of taps on the back button in safari to get out of the app. Otherwise, really cool!
Really well done, thank you!
Lovely effect! Particularly enjoyed how it seems to 'fake' refraction by sampling higher or lower from the background based on the drop shape. The trails squishing back into raindrops to simulate surface tension is also a pretty nice touch, though perhaps a bit over-exaggerated.

One caveat is the merging of the drops sometimes looks quite unnatural, but I'm not sure there's any simple way to represent that as just a couple of textures and a transformation, as real drops would have attractive forces on a molecular level pulling them towards one another once they're bridged, deforming pretty unevenly.

There was an attempt of making the drops merge more naturally, but it was affecting the refraction effect, which I deemed was more important.

It should be solvable though, I just couldn't get the values right at the time.

(Also thanks!)

Anyone else felt like wiping the screen of their smartphones? Well done!
Not sure if it is the original but the source where I first saw this rain effect was on ShaderToy - The Drive Home by Martijn Steinrucken aka BigWings[1]

The accompanying video tutorial[2] is super interesting too as well as the HN discussion at the time [3].

[1] https://www.shadertoy.com/view/MdfBRX

[2] Link to first part: https://www.youtube.com/watch?v=eKtsY7hYTPg

[3] https://news.ycombinator.com/item?id=15564148

Hahha i was like. This is the "drive home" Martijn is an exceptional explainer I like his channel a lot. A great resource if you want to start programming shaders.
It has already been posted by jeffschofield, but the original is here[1], along with a brief article breaking down the effect[2].

The one you posted is in many ways nicer though due to it all being a single shader, however it has the downside of the drops not interacting with each other.

[1] https://tympanus.net/Development/RainEffect/

[2] https://tympanus.net/codrops/2015/11/04/rain-water-effect-ex...

I remember that I have seen that before, but I don't remember when. Seems to be from 2015 while "The Drive Home" is from 2017.
Man that's crazy, trying to figure out how you make something look like glass/water. Also moving your mouse around on desktop gives it added feel of depth/realism the pane of glass.
That looks / sounds great!

Are the sounds based on samples, or procedurally generated?

My question too. This loads really fast and is really smooth.

I've been using https://mynoise.net/ for years as a paying customer for this kind of thing and am always happy to see other movement in this tech.

Very nicely done. It even works fine in IE11!
Can't tell the difference between the screen and my window (it's rainy here today!). Nice!
Looks pretty good, I do see some weird rain drops blinking on the bottom half of the screen (latest version of Chrome).
Hi, I'm the author of the rain effect (not of the website itself though).

You can see the original effect here[1], along with an explanation here[2].

If you like it, you can see a few more effects and experiments on my portfolio here[3], although it's been a couple of years now since I've done anything of the sort (that I can post publicly, that is).

[1] https://tympanus.net/Development/RainEffect/

[2] https://tympanus.net/codrops/2015/11/04/rain-water-effect-ex...

[3] http://lbebber.github.io/

Is the submission actually adding anything of substance to your work then? It seems basically the same but with a background image, and parameterisation sliders (that I can't get to work anyway).
Well it has sound it seems, which might actually be more important depending on what you're looking for.
It’s taking a really impressive tech toy and making it a product. You’d be surprised how much work the second 80% is.
This website itself seems more like a tech toy than a product though?
Cool work, very nice!

It seems that not all your projects, that are download-able, are on Github. Why is that?

There's no good reason, to my shame. But now that you mention, I think I'll get around to it and do it this week. Might be a good opportunity to round down a few rough edges here and there as well.
That story map is beautiful!

I have a somewhat unrelated question. Do you ever see the world moving to rendering content completely on a WebGL canvas, for better control and with the ability to circumvent ad blockers?

Hmmm I'm not sure if it could be properly used to circumvent ad blocking, after all the ads will still probably come from a separate request which one could block.

However I do see it being used for web apps that prioritise performance--in terms of providing a smooth experience, rather than load times. I think Figma already does that (through emscripten or wasm, I'm not sure); for it to be more widespread, only the tooling has to catch up (e.g. React Native).

Also thanks, I'm particularly proud of that map hahah
I agree, that map is amazing. I particularly like the way you can see exactly where the photos were taken.
I ported this effect to Android in a live wallpaper called Rainpaper[1].

[1] https://rainpaper.com

I had been looking for this for years when I had an Android phone!
yo i love everything on codrops especially these. thank you for sharing with the world :)
The drops flicker in OSX Chrome 84 for me. Works in other browsers.

Not surprising though. This 2017 Macbook Pro's integrated gfx (Intel Iris Plus Graphics 640 1536 MB) seems incapable of rendering any 3D games after 2010 without flickering at some point. It's one reason I'm still playing Morrowind (2002).

It _is_ really weird, that didn't use to happen either. Started happening after some update of either Chrome or macOS, I'm not certain which.

In fact I think this is one of the most frustrating things of working with WebGL (or any of those slightly less common browser APIs, really), lots of small weird compatibility issues and instabilities.

The same thing happens for me on my 2018 MBP, whether I turn on the discrete GPU or not.
Same here, Vivaldi is flickering and smooth. Safari works correctly at a noticeably lower frame rate.

I have found that Vivaldi uses the Macs Intel GPU, and Safari is CPU bound. WebGL 2.0 experimental support in Safari doesn't seem to have any effect.

My 2014's Intel graphics handles games newer than that without graphical artifacts... Unity games in particular are usually fine.

However, if you're already playing Morrowind (or OpenWM) then you don't really need anything else.

Wow this is super nice. Make sure to use this as a portfolio project!
Is there any relation with the effect used in pluvior.com?
Safari on macOS isn't playing any sounds, apparently because you're not requesting for some permission?
Pretty cool!. Only one glitchy part, the bottom of the screen seems to have a few drops that appear and disappear at random, that's the only thing that took me out of the realism.
I opened this and said wow out loud. Really cool!
The sliders don't work on Google Chrome on Android 10.
Sliders are for the audio.
It works about as well as digg.