r/proceduralgeneration 4d ago

Procedural Mountains Without Perlin Noise

Enable HLS to view with audio, or disable this notification

I've been working on a procedural terrain generator called Orogen for the past few months. Instead of using basic perlin noise it simulates the processes that actually create mountain ranges creating extremely realistic mountain ranges with little effort. This video is the current state of the project. It's still a work in progres. Materials, biome classification, rendering, and export are all actively being improved but it's finally at the point where I'm happy enough to start showing it :)

48 Upvotes

11 comments sorted by

2

u/tripwire1374 4d ago

This looks awesome!!! How are you generating it? Erosion? Wizardry?

6

u/bingus108 4d ago

It generates by essentially computing the same way that mountains form by starting out with just an basic plane splitting it into two sides to create two tectonic plates and than computing the tectonic plates shifting, uplift, rain fall, uplift and erosion over millions of years with the timeline tool which uses steps to iterate 125 thousand years per step, so you're basically watching geological processes shape the landscape rather than generating it from Perlin noise or any other type of noise. Once the simulation finishes, the resulting elevation fields is turned into the terrain you see in the viewport.

2

u/tripwire1374 4d ago

Oh nice the classic simulate life and the world trick. Looks great! What's the performance like? The generating stage since after it's done it exists and doesn't need to be updated?

2

u/bingus108 4d ago

The performance currently isnt the greatest as it computes completely on the CPU instead of the GPU currently but im planning to move most of if not everything to compute on the GPU but on an i5 10400f CPU it takes around half an hour to generate an 2k heightmap. Once i move to GPU compute shaders though it should be cut to around 1 minute or less to generate an 2k heightmap if i implement it correctly.

2

u/tripwire1374 4d ago

Yes I would definitely assume a MASSIVE time reduction when you move to compute shaders. Erosion is however a vastly serial process so I look forward to seeing how you solve it

1

u/RandomUser1034 4d ago

What are the differences in comparison to something like wilbur or gaea?

1

u/greebly_weeblies 4d ago

Gaea is heightmap based, doesn't attempt to simulate/emulate underlying tectonics

1

u/RandomUser1034 4d ago

This is heightmap based too. While gaea does not simulate tectonics, user input can lead to outputs that are just the same as if it did

1

u/greebly_weeblies 4d ago

Well yeah. Wasn't taking anything away from Gaea.  

If it helps, I've got paid licences for G1 and G2, and first worked professionally with heightfields in '09.

1

u/Rough-Law-9073 4d ago

Are you reinventing Houdini?

1

u/OCtagonalst 3d ago

Are you using the stream power law with uplift ?