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?


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\$ – Wolfgang Skyler May 21 '13 at 3:21

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.