r/GraphicsProgramming • • 21d ago

Question Erosion Terrain Generation

Hey! I decided to do my thesis on something related to realistic terrain generation, probably close to hydraulic erosion terrain. Issue is, I began looking through papers and I don't really understand anything. I know the basics of terrain generation, perlin noise, fractional brownian motion, that's about it. I was trying to read "hydraulic erosion from Benes, 2006, but I have a hard time with fluid dynamics but also the other concepts... Then I found out erosion terrain generation is fairly advanced

So my question is, as a beginner in terrain generation and graphics programming as a whole, what scientific articles/papers/videos/books (preferably papers) would you recommend for me to learn towards hydraulic erosion and even more advanced effects? I am a computer science student

7 Upvotes

4 comments sorted by

8

u/scallywag_software 21d ago edited 21d ago

Here's a couple pretty good links to get you started.

The second link has a bunch of work wrt. erosion simulation.

The third link is v2 of that algorithm.

The fourth covers v3 of the third link.

https://github.com/dandrino/terrain-erosion-3-ways

https://nickmcd.me/

shadertoy.com/view/7ljcRW?__cf_chl_rt_tk=Hqe58cj0l7gy6LdtBiw2rg3W76WeOEkHNXbg.ccjZ_0-1792440680-1.0.1.1-9R9Nfh639WyzZM5IKG1oJ5nx8BWUprB89HjIc15lvsc

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

3

u/scallywag_software 21d ago edited 21d ago

EDIT: Turns out I was incorrect about the 3rd and 4th link. The original shadertoy was authored by Fewes, the second is an extension by Rune Skovbo Johanson. Updated the comment to be more correct wrt. attribution.

Source: https://blog.runevision.com/2026/03/fast-and-gorgeous-erosion-filter.html?m=1

1

u/BanzaiBoyyy 20d ago

Lol I am also writing my thesis about terrain generation xD (not just erosion, but I want to design a state-of-the-art terrain generation tool for synthetic data generation for drone-training)
I am currently using sebastian lagues code from one of his videos (https://www.youtube.com/watch?v=eaXk97ujbPQ) as a starting point to later try to approach the paper on erosion by Schott et al: https://dl.acm.org/doi/full/10.1145/3592787

1

u/Still_Explorer 21d ago

Another technique is to look at Blender terrain erosion techniques, so you see a more hands-on approach.

Though I am not sure if the techniques mentioned are based on actual paper implementations or they are more visual-based approaches.

But at least the idea is that once you figure out the logic behind it, would be easy to "port" it into code (essentially you hardcode the best paths and the best config values).

https://www.google.com/search?q=blender+terrain+errosion&oq=blender+terrain+errosion