Voxel Meshing
There are two families of methods to render voxels: preprocessing voxels into polygons (this category) and ray casting.
Within polygon-based approaches, voxel meshing itself splits into two families:
- blocky voxels (cube-based appearance as seen in Minecraft)
- smooth voxels (extracting a smoother surface via isosurface)
Polygonising a scalar field (Marching Cubes) (1994)
Reference implementation and explanation of the marching cubes algorithm
The Transvoxel Algorithm
Eric Lengyel's voxel meshing algorithm for seamlessly stitching together neighboring triangle meshes generated from voxel data at differing resolutions so that level of detail.
Dual Contouring Tutorial
A tutorial explaining the dual contouring algorithm