/ComputeMarchingCubes-Metaballs

[Unity] GPU-optimized marching cubes isosurface reconstruction

Primary LanguageC#The UnlicenseUnlicense

ComputeMarchingCubes

gif gif

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.

System requirements

  • Unity 6
  • Compute shader capable system

What's inside

This project contains two sample scenes:

  • Metaballs: Visualizes a simple metaballs scene.
  • 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.