Procedural landscapes using Perlin Noise

landscape1
A few years ago I read the article “Generating Complex Procedural Terrains Using the GPU” in GPU Gems 3. It covers a way to implement random landscapes using Noise, a great read if you are interested.

I’m just in the start phase, able to render some interesting landscape, but no texturing and so on.

The general algorithm is really simple. Just create a few layers of Perlin Noise on a plane.

I start by rendering a simple plane at the position –3 in the Y-axis:
image

Then, I add a few octaves of Noise to create an interesting landscape pattern:

image
1 octave

image
2 octaves

image
4 octaves

imageimage
8 octaves

As you can see, after only 8 octaves, the landscape is getting very interesting. You can play with the parameters for each layer, like amplitude, to create a mystical, evil looking landscape.

Next, I added another plane that’s just “straight” at Y = –3.2 to add a waterlevel:
image

A flight through the landscape can be seen below, enjoy. Smilefjes

This entry was posted in DirectX11, Graphics, Technology. Bookmark the permalink.

1 Response to Procedural landscapes using Perlin Noise

  1. zproxy says:

    I like this! 🙂

    Have you considered opensourcing this as WebGL?

Leave a comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.