World Builder Page - Landscape Utilities

World Builder Page

World Builder Page - Landscape Utilities

last modified: 2006-01-27

This page is my repository and summary of all (free) tools for landscape creation and visualization that I find, use, or write. The focus is on UNIX command-line interface tools, simulation, and PGM, OBJ, or Radiance import/export. I'd sure love to support more input and output formats, and more functionality. If you notice anything you'd like to see, or would use, please tell me about it! All software available from this page not written or copyright by another author is Copyright 1998-2005 Mark Stock. This code is not guaranteed at all, (well, most of it is GPL'd) and I ask you, in good faith, not to sue me (or any other author), or hold me responsible for any damages caused by using this software. In return, I will promise to not hand out code that will fratz any of your hardware. I'm not good enough to do that, anyway.

If you just want the goods, link to my progs directory: ../progs/

Here are the programs (most frequently used/updated progs are at the top):


DLA-ND is an arbitrary-dimensional diffusion-limited aggregation simulator. It creates branching, dendritic shapes in 2D, 3D, 4D, etc. using an accelerated random walk method and spatial subdivision to accelerate distance tests. The newest version was released 2005-09-14.
DLA-ND homepage


dla3d was the precursor to DLA-ND, above. It only operates in three dimensions and is significantly slower than DLA-ND. It was first released 2003-12-05.
dla3d homepage


Part-ND is an arbitrary-dimensional, stand-alone particle system and gravitational simulator written in ANSI C (mostly for my own amusement). It utilizes an adaptive octree system for heirarchical space subdivision and can simulate a variety of forces and boundary conditions including self-gravitation, global gravitation, self-contact, wall contact, and spaghetti. Version 1.4, with some bug fixes and a Windows version, was released 2005-09-14.
Part-ND homepage


part3d was the precursor to Part-ND, above. It only operates in three dimensions and is somewhat slower than Part-ND. Version 1.0 was released 2003-11-21.
part3d homepage


Rocktools is my frequently-used toolkit for creation and manipulation of open and closed triangle meshes, and is ideally suited for creating 3D meshes of rocks, landscapes, and rough shapes. The programs now available with the toolkit are: rockcreate, rockdetail, rocksmooth, rocktrim, and rockerode. Most of those programs can read Wavefront (.obj), TIN, and RAW formats, and write to Wavefront (.obj), POV mesh (.pov), Radiance (.rad), Renderman polygon (.rib), irregular triangular network (.tin), and raw formats. Some programs even support surface normal smoothing. Wow. I'm due for a new release soon.
Rocktools homepage


hftools is a distribution of useful tools for creation, manipulation, and rendering of virtual landscapes using triangle meshes instead of scalar heightfields. It includes programs called: gtop2pgm, dem2pgm, sdts2pgm, hfscale, hfcolor, pgmblob, pgmglacier, hf2rad, pgm2stm, tinfile, tinscale, tinsmooth, and tin2rad.
hftools homepage


vortex2d is a 2-dimensional viscous vortex simulator, its development has slowed, but still features viscous decay, particle and vortex generators, image input, and other useful output functions. From the command-line, it can produce a series of PGM image files. (No homepage)
Download vortex2d.tar.gz


erode is a 2D erosion simulator, written by John Beale, creator of HF-Lab, gforge, and other cool heightfield tools. I have added export to PGM, and may add more stuff.
Download my slightly-modified erode.tar.gz
Download John's original er1u.tar.gz
Jump to John Beale's homepage


rgb2hsv is an ANSI C program that will convert a false-color, shaded heightfield into its hue, saturation, and brightness constituent components. It works on any PPM file and will write a PPM file. It is most useful on heightfield images of the type found at Views of the Solar System. Here is the code: rgb2hsv.tar


plates is a one-shot C program, written in 1988 by Mark Isaak, that simulates plate tectonics/continental drift. A simple text interface is provided, and options to export data for land elevations, sea elevations, and mineral content in text, .ps, and .pgm format are included. Initial continent forms are not as nice as cdrift (below), but plates is scalable and computes ocean depths, with mid-oceanic rifts, hot spots, for volcanoes, and wrapping continents on a square torus.
Download plates.c


cdrift is a continental drift simulation program which incorporates several geological principles to create a simulated model of a super-continent break-up and reassembly cycle. The original code is copyrighted by David Allen, and can is for Amiga, PC, and Unix. My rewritten parts have only been tested on Linux. The file planet.tar.gz includes source code for TEC, the continental drift program in cdrift, and CLIM, a climate simulator. Dave has recently packaged a Windows/Sun/Linux distribution.
Download cdrift.tar.gz
Download planet.tar.gz
Go to Dave's World Builder page


dem2pgm takes a USGS DEM and completely converts it to a 16-bit ASCII-encoded PGM image file. Originally dem2tga.c, by Jon Larimer. Also available is John Beale's dem2pgm, originally by Christopher Keane. My version is not perfect, but it uses more information from the DEM.
Download my dem2pgm.c
Download John's dem2pgm.tar.gz


dem2rad takes a USGS DEM and writes out a Radiance-readable data file containing all of the elevation nodes. Originally demex.c, by Robert Smyser, then dem2rad.c, by Gilbert Leung. Recent changes by Lars Grobe.
Download dem2rad_0.2.1.tar.gz

No image sdts2pgm

sdts2pgm takes a USGS SDTS-formatted DEM and completely converts it to a 16-bit ASCII-encoded PGM image file. Originally sdts2ARC.c, by Sol Katz. This one is perfect. Way to go Sol!
Download sdts2pgm.c
Download sdts2pgm_linux executable

Other programs/packages/libraries of importance

No image starform

starform is the enhanced version of accrete, the solar system generator. The first widespread version of accrete was written in 1988 by Matt Burdick, and was called starform. I added a more descriptive usage message, and changed the seed generator code to work on my SGI, and you can get my version by selecting the first link.
Download the original starform.tar.gz
Download mstock's accrete2.tar.gz
An Accrete page put up by Ian Burrell was here:

No image fips123

fips123 is a software library for the USGS Spatial Data Transfer Standard (SDTS) file format. SDTS files can contain DEM, DLG, or any other type of data. 7.5' USGS elevation data for most of the U.S. is available in this format. You need to build this library to compile sdts2pgm.c, a conversion program I will make available very soon. This library makes fine under Linux, but uses GNU make, which I don't have on my SGI at work.
Go to fips123 download site

No image Triangle

Triangle is a 2D quality mesh generator and Delaunay triangulation program. It supports adaptive grid refinement and a slew of other options. I hope to use this software to convert rectangular elevation data to an improved-quality triangular-mesh heightfield.
Go to Triangle homepage

Radiance Links

Other Terrain/Topography/Landscape Sites

Mark J. Stock, Graduate student, Aerospace Engineering, The University of Michigan