Voxel Engine

For my university final year project I developed a voxel engine, researched methods of voxel
visualisation and invented my own algorithm for detecting individual volumes in a field of
voxels.

Voxel engines have become very familiar in recent years due to the popularity of the
video game: Minecraft. In general voxels are the individual cubes that make up the
world, these cubes can be simplified to a 3D field of values. Each point in this field must
contain some useful data, in Minecraft this is the material of the block placed at a position.
For my voxel engine I used density instead of material, a technique similar to this is often
used in medical imaging software.

Volumes

Computing the mesh of a voxel engine is an expensive task and ultimately proved to be one of the
most challenging aspects of my project. The visualisation algorithm that I used to generate the 3D mesh
of the voxel field used
SurfaceNets.
To the left we can see a volume that has been visualised using the SurfaceNets approach.

Establishing the definition of a volume was also useful for the last part of my project, during which
I investigated methods of detecting separated volumes in a voxel field.