Fast and Gorgeous Erosion Filter (blog.runevision.com)

by runevision 24 comments 240 points
Read article View on HN

24 comments

[−] runevision 46d ago
The blog post and the companion video (and shader source code) explain an erosion technique which emulates gorgeous branching gullies and ridges without simulation, while still allowing every point to be evaluated in isolation, which means it’s fast, GPU-friendly, and trivial to generate in chunks.
[−] spartanatreyu 44d ago
You can play with the interactive example here: https://www.shadertoy.com/view/sf23W1

Click and drag your mouse around the preview to see how fast it runs

[−] catapart 44d ago
Truly fantastic work! "Holy Grail" is right! Terrain generation just got an upgrade so the tooling is about to start producing some really beautiful results in real time. That's going to be a blast to work with. Thanks!
[−] pixl97 44d ago
I enjoyed Dwarf Fortress random map generation because it simulated erosion pretty well. Small creeks started in the mountains and flowed to the ocean getting larger as it went. Deep valleys and waterfalls too in places made for interesting maps.

Be interesting if we can start getting 3D games with random maps that are realistically generated and have interesting features in the future.

[−] cineticdaffodil 43d ago
Mountains weather directional, meaning rain comes mostly from one direction to press against the mountains and create gullies, so there is a rain shadows on "inner mountains" also there is weathering by gully freezing, so the thin ridges between gullies get freeze cracked to rubble. That rubble again builds up, almost filling the lower slopes of a gully ocassionally.

Finally there are invisible gullies, layers of rock where the water sips into the rock and caves, leaving all things below gully free.

[−] brcmthrowaway 44d ago
Any remember the 90s software Terragen and Vue3d?
[−] roger_ 43d ago
I was expecting something about the morphological erosion operator but this was pretty cool.

Some of the techniques here seem to be motivated by physical processes (e.g. rain). I wonder if that could be taken further to derive the whole process?

[−] nullc 44d ago
might be fun to try to find parameters that agree well with the statistics of hi res lidar data, perhaps conditioned on geological maps. E.g. describe a geological history with layers of different formations and a pattern of uplift, and get a terrain which agrees with it statistically.

Without simulating erosion you're not going to get a faithful recreation of any particular geological history, but you could get something that looked consistent by virtue of being consistent with the statistics of that topography.

[−] p1necone 44d ago
Being able to process separate chunks in parallel is the killer feature for any procgen algorithm - nice.
[−] davidanekstein 44d ago
Thank you for writing this up, it was great to see all of the comparisons. Very well put together!
[−] renewiltord 44d ago
Great write-up. Results are quite stunning.
[−] bananaboy 44d ago
Amazing work!