ComputeMarchingCubes is a Unity sample project that reconstructs isosurfaces of scalar volume data using a compute shader and the new mesh API graphics buffer direct access).
It uses the classic marching cubes algorithm for isosurface reconstruction. The implementation is based on Paul Bourke's article but partially modified for GPU optimization.
- Unity 2021.2.0 a19 or later
- Compute shader capable system
This project contains two sample scenes:
- NoiseField: Visualizes a simple animating noise field.
- VolumeData: Visualizes a CT scan dataset from the Stanford volume data archive.
Note that the configuration of the volume data is hardcoded in the sample script/shader. You have to implement a data parser to support a specific volume data format.