42

Hi everyone! I think that a simulation of a raindrop trickling down a window is a very nice effect, and if there are more of them, they can be both highly useful and visually striking in games. So, let’s explore how this shader works from a programming perspective.

top 2 comments
sorted by: hot top controversial new old
[-] flovoit@programming.dev 3 points 13 hours ago

I watched it, very interesting effect, but one of the problems I have when trying to implement an effect is understanding how to manipulate the color, in your case the magic was happening in the drop_layer function. How did you know that doing that calculation (I.e. the uv offset into the base texture) would look like a drip?

[-] FencerDevLog@programming.dev 1 points 3 hours ago

Thanks! The offset of UV coordinates works like refraction, localized to the corresponding cell of the defined grid. Without using a noise texture, such light refraction would be circular, similar to the magnifying glass effect. However, this approach creates slightly irregular shapes, which better simulate droplets on a window pane. If you reduce the drop_layer function to its absolute minimum, you should see the mentioned grid before the shaping and movement of the droplets.

Like this:

vec2 drop_layer(vec2 uv, float time) {
	vec2 grid = vec2(grid_x, grid_y);
	vec2 drop_uv = fract(uv * grid);
	drop_uv = 2.0 * drop_uv - 1.0;
	vec2 drop_size = drop_uv / grid;
	return drop_size;
}

this post was submitted on 13 Jan 2025
42 points (97.7% liked)

Godot

6074 readers
45 users here now

Welcome to the programming.dev Godot community!

This is a place where you can discuss about anything relating to the Godot game engine. Feel free to ask questions, post tutorials, show off your godot game, etc.

Make sure to follow the Godot CoC while chatting

We have a matrix room that can be used for chatting with other members of the community here

Links

Other Communities

Rules

We have a four strike system in this community where you get warned the first time you break a rule, then given a week ban, then given a year ban, then a permanent ban. Certain actions may bypass this and go straight to permanent ban if severe enough and done with malicious intent

Wormhole

!roguelikedev@programming.dev

Credits

founded 2 years ago
MODERATORS