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
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
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.