The-curs0r / marching-cubes

Implementation of marching cubes algorithm in C++

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Marching Cubes

Implementation of marching cubes algorithm in C++ .

About

  • Vertex coordinates and face normals generated on the GPU using a compute shader.
  • Simplex noise at each point used as density function.
  • For smooth (Gouraud) shading, vertices are indexed and the vertex normals are calculated on the CPU.

How To Run This On Windows

  • Clone the repository including the submodules using :
git clone --recurse-submodules https://github.com/The-curs0r/marching-cubes.git
  • Go into the cloned repository and run CMake :
cd marching-cubes
cmake CMakeLists.txt -B ./build/ -G "Visual Studio 16 2019"
cd build
start marchingCubes.sln
  • Build the solution for Release configuration
  • Copy the shader files to the Release folder and run the application :
copy *.glsl ./Release/
cd Release
start .\marchingCubes.exe

How To Run This On Linux

  • Clone the repository including the submodules using :
git clone --recurse-submodules https://github.com/The-curs0r/marching-cubes.git
  • Go into the cloned repository and run CMake :
cd marching-cubes
cmake CMakeLists.txt -B ./build/ -G "Unix Makefiles"
cd build
make all
./marchingCubes 

Bug/Feature Request

If you find a bug, or are unable to build the project or run the application, let me know through an issue here.

If you have any ideas or suggestions for this project, please put them here.

Screenshots

About

Implementation of marching cubes algorithm in C++


Languages

Language:C++ 82.9%Language:GLSL 13.6%Language:CMake 3.5%