Awesome
MarchingCubes_CppCuda
The C++ (with cuda) version of the classic Marching Cubes algorithm.
Description
This repo contains the code for the classic Marching Cubes algorithm in C++&Cuda. The input is a SDF tensor with shape (dim-x, dim-y, dim-z). The output is the result reconstructed mesh by the MC algorithm.
Prerequisite Installation
1. eigen3
2. cuda-8.0
3. Python3
How to use the code:
Clone the repo:
git clone https://github.com/WanquanF/MarchingCubes_CppCuda.git
Build the code with the given script:
python run.py
Run the testing sample:
python test.py
Other details:
The code has two kinds of implementations of the MC algorithm. One implementation uses the cpu all the time while the other one uses the gpu for parallel. After you build the code by running the "run.py" script, the exe file is in the "./build" folder, named "marching_cubes_cuda". The command line for using it is like this:
./build/marching_cubes_cuda dim-x dim-y dim-z input-sdf-path output-mesh-path if-using-cuda
The "dim-x", "dim-y" and "dim-z" are int numbers showing the shape of the input sdf, and the "if-using-cuda" is a 0/1 (0 means running without cuda, 1 means running with cuda) value deciding which version of implementation you use. The "input-sdf-path" is a bin file of the sdf value tensor. The "output-mesh-path" should be in the obj format.