# Code for fractal heightmap generation?

## Recommended Posts

Fractal heightmap terrain is a common algorithm.  I was wondering if there was a pre-existing code library, or even just a snippet, that did this?  It could save me a few days of experimentation if there's already something out there I can use and modify.

Thanks!

##### Share on other sites
I haven't done this type of thing in a while, but if I had to do it now I think I would use libnoise and simply sample from a noise function to generate terrain.

##### Share on other sites

For terrain, go with ridge first.

##### Share on other sites

If you don't want to muck around too much with noise you can check out the mid-point displacement algorithm (described here: http://www.gameprogrammer.com/fractal.html with height-map source here: http://pastie.org/1927076 ). Otherwise (as the above posters can tell you) you can check out perlin noise ( http://mrl.nyu.edu/~perlin/noise/ ) and use a simple fractal algorithm like fractional brownian motion like so:

float fBm( Vector3 vertex, float H, float lacunarity, int octaves )
{
float value = 0.0;

for (i=0; i<octaves; i++) {
value += noise(vertex) * pow( lacunarity, -H*i );
vertex *= lacunarity;
}

return value;
}


to create cool organic patterns. Creating a height-map is as simple as using the result of an algorithm like that as a color and setting a pixel on your desired map to that color...

Good luck.

Edited by multifractal

##### Share on other sites

It's not exactly what you are asking for, but a generation of heightmap technique based on hydrology as been presented at the siggreph 2013:

It don't looks too complicated, so if you need a finite, precomputed terrain, I think it could be a good idea to consider it.

## Create an account

Register a new account

• ### Forum Statistics

• Total Topics
627735
• Total Posts
2978854

• 10
• 10
• 21
• 14
• 12