Erosion Sim (in browser on GPU)

As you might imagine given some of my recent projects, this erosion sim by Ricky Reusser caught my eye. And not just because my own GPU code has an instability I haven’t tracked down yet.

Erosion is something that doesn’t get included in many past real-time simulations, partially because the results depend on the neighboring values, making the whole thing much more expensive than a naive deterministic approach would be. It’s starting to become a bit more common, now that you can use a GPU, but it’s still fairly rare.

As an effect, though, erosion can really help sell a terrain. First off, it simulates a history for the terrain. It’s a lot harder to do that with just Perlin noise. Having what is, in a sense, a real history adds information and gives a sense of weight and meaning to the shapes. You can infer things about the shape of the whole by just looking at the small, local part where you’re standing.

Second, it breaks up the terrain in interesting ways. By this point I’m pretty used to seeing Perlin Noise in all of its iterations. Using a process that operates by drastically different assumptions throws that off: shapes that might have been humdrum are modified in interesting ways.

There’s a few ways to fake erosion that are a lot faster than simulating it outright. That still gets you all the second benefit, and may manage to imply something about the history as well. (And it might also be easier to combine with additional layers of input.)

http://rickyreusser.com/demos/regl-sketches/005/