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

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

One Response to Procedural landscapes using Perlin Noise

  1. zproxy says:

    I like this! :)

    Have you considered opensourcing this as WebGL?

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s