My erosion filter is out! Video, blog post, and shader source.

It emulates erosion without simulation, so it's fast, GPU friendly, and trivial to generate in chunks.

Explainer video:
https://www.youtube.com/watch?v=r4V21_uUK8Y

Companion blog post:
https://blog.runevision.com/2026/03/fast-and-gorgeous-erosion-filter.html

#ProcGen #vfx #GameDev

@runevision Fantastic writeup, thanks!
Generating a good input heightmap is explicitly beyond the scope of this article, but that feels like the next logical thing to look at. I've been wondering if there's a good way to make sure that following down a slope will end up at a lake or ocean, i.e. controlling the local minima. Maybe a large scale voronoi system could determine the maxima and minima in such a way that finer scale voronois could preserve these while forking the channels between them.

@runevision Maybe at some point these finer voronoi octaves could transition into an algorithm like the one you described here.

You know, in case you needed another nerd snipe.

Bonus points for meanders and oxbow lakes.

@johnnesky Yeah plenty of follow up research one could do! It'll have to be someone else than me though :)