I'm making a terrain system which needs to be procedurally generated and would like to know my options. So far I know of: Height-field terrain, Vector-field terrain, and Voxel terrain. Is there anything missing from that list?


1 Answer 1


Just a quick note about voxel landscapes. It is a wide field and there are a variety of representations and algorithms for display.

Heightfield voxel terrain: stored as a heightmap, but rendered with vertical strips rather than polygons. Check out "Outcast"

Cuboid terrain: I believe stored in terrain chunks as run-length encoded strips. Displayed as a bunch of quads, separating empty voxels from solid ones. We all know minecraft.

Polygonised scalar field: A voxel field of real values representing signed distance from surface. Surface is extracted with a polygonisation algorithm like "marching cubes", "marching tetrahedrons" or "dual contouring". See this GPU Gems article.

Sparse voxel octrees: Stored as a memory efficient octree, and rendered by raycasting the tree directly. This technique has great potential but is still in its infancy. Check out Atomontage

  • 1
    \$\begingroup\$ Polygonised scalar field. So that's the name for that subset. \$\endgroup\$ May 21, 2013 at 3:21

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .