Traditional terrain generation approaches have used height maps to generate surfaces. These type of surfaces cannot form complex features like caves and overhangs, as each 2D coordinate maps to a single height value. Instead, the Marching Cubes algorithm is used to generate a connected 3D surface described by a density function. This highly parallel task can be done efficiently and quickly on a GPU.