Navigation menu |
A portable, open-source, coherent noise-generating library for C++ |
Example: Complex planetary surface
This page shows an example of a complex planetary surface generated by libnoise. This planet has a size comparable to Earth. The noise modules that generate this planetary surface can create surface detail that has a maximum resolution of 7.5 meters. This planetary surface has a wide variety of terrain features:
This planetary surface is generated by a combination of over 100 noise modules:
Note: libnoise is not a renderer; it simply generates the terrain elevations using coherent noise. These images are rendered by separate applications. Table of ContentsZooming in on the planetThis section shows several views of the planet taken at various zoom levels, starting from a point in space and ending at a point on the surface. Click on an image to show a higher-resolution picture. First view of the planetHere is the planet at a distance of 20,000 km.
Getting closer to the planetHere is a closer view of the planet at an altitude of 2,000 km. Mountain ranges (beige/white) are now visible in the foreground.
Orbiting the equatorThis equatorial view is taken from orbit an altitude of about 116 km. The sea near the flat coastline appears to be shallow, while the sea near the coastal mountain range (center) is deep and better defined. A much larger mountain range lies inland.
Mountain range near the coastHere is a view of the mountain range near the coast. Rivers can now be seen inside of the valleys.
The river valleysHere is a closer view of one of the river valleys. The mountains and cliffs on both sides of the valley now show some detail.
Closeup of the cliffsHere is a closeup of one of the cliffs on the right side of the river.
Ground levelFinally, here is a view taken from ground level. This view also has some closeups of the mountains and cliffs.
Interesting spots around the planetThis section shows views from some of the more interesting spots around the planet. Desolated rocky areaThis view was taken from a desolated rocky area early in the morning
Mountain rangeThis view shows a large snow-covered mountain range with a forested valley below.
Rocky coveThis view was taken high above a rocky cove close to the equator.
Downloading the SourceTo explore this planet on your own, download the example sources (43 KB) and compile complexplanet.cpp. You'll also need to download the noiseutils library (32 KB) and add it to your project file or Makefile. The source code for generating this planetary surface is released under the terms of the GNU General Public License. The noiseutils library is released under the terms of the GNU Lesser General Public License. This program is quite slow. On an AMD Athlon 2000+ XP running Windows 2000, it takes about 25 minutes to generate a 2048 x 2048 map. You can also download a 4096 x 2048 image of the planet (592 KB). Note: You'll not be able to generate the exact planetary surface shown on this page with the current version of libnoise; this surface was generated by an earlier and flawed version. If you want to explore the exact same planet as shown on this page, you'll need to open noisegen.cpp, set the NOISE_VERSION constant at the top of the file to 1, and recompile libnoise. |
|
© 2003-2005 Jason Bevins |