Terrain Heightmap routines?

BlitzMax Forums/BlitzMax Programming/Terrain Heightmap routines?

JoshK(Posted 2008) [#1]
Does anyone have any interesting heightmap generation or modification routines beyond simple perlin noise generation? Terragen has a few functions like "Canyonize" and "Glaciate". I am thinking of things like that.


Raph(Posted 2008) [#2]
They're all just image processing, really. So anything you can find for image processing will also have useful effects for terrain.

"Terracing" is a useful one -- clamping values (perhaps with a fudge factor) into ranges.

Perlin noise comes in four flavors, btw, I tend to only see one. implemented, but all four are useful.

Using one noise pattern as a mask/filter for another is very useful.

The Heightmap Toolbox in the archvies has some nice stuff in it.


JoshK(Posted 2008) [#3]
Those generation routines look pretty good.


impixi(Posted 2008) [#4]
Another technique is to blend several pre-generated ‘base’ heightmaps together and then blend a few other smaller heightmaps as ‘features’ on the base.

Potential base heightmaps can be sourced from your favourite heightmap generation program. (I use several dozen previously saved from Bryce 6.1’s terrain utility).

The smaller feature heightmaps can be similarly sourced. For best results the feature heightmaps should be ‘islandised’ before blending with the base. I do this by applying an island ‘mask’.

You can generate some very interesting terrain heightmaps using this technique. I will post some demonstration code later, if I get enough time.