See what's going on with flipcode!


Submitted by , posted on 17 November 2001

Image Description, by

No, this is not showing off a real-time terrain renderer. The 3D visualizations were done in pov-ray and are purely for illustration. Now that that's out of the way.. :)

My hobby over the past half year has been improving the artificial nature of the terrain you get out of a basic subdivision/perlin noise terrain generation scheme. I've looked into a variety of methods including simple function transforms on the heightfield, multifractals, and several other schemes.

One method that has consistently produced nice results is the simulation of small-scale weather and fluvial erosion. My algorithm is based on the Monte Carlo method: In a nutshell, it drops running water randomly on the terrain, picking up or depositing soil as the stream flows. You can simply run until the desired level of erosion is achieved. With a bit more work, the creation of a river system and large-scale water channels should be possible. The algorithm is not suitable for real-time running, but it works fine as a backend/preprocessing step.

I'd be happy to provide more details if anyone is interested.

-The top 2 images show the same heightfield, in a before/after comparison of the erosion simulation.
-The overhead view shows 2 lightmaps created from another heightfield, again contrasting the results before and after applying erosion.
-The middle-right screenshot shows the basic terrain modification dialog box in my terrain tool.
-The bottom image is another Povray rendering of an eroded terrain.

As an aside, I had thought of trying to submit these techniques to GPG3, but I reconsidered after realizing from the lack of information on erosion methods on the Internet, that I may well be the only person who finds this stuff interesting. :)

I'd love to hear any comments or discussion on what other people do to improve their terrain heighfields.

Image of the Day Gallery



Copyright 1999-2008 (C) FLIPCODE.COM and/or the original content author(s). All rights reserved.
Please read our Terms, Conditions, and Privacy information.