cuMesh is a simple C++/Cuda(thrust) parallel geometry processing library.
We develop it as a toolbox for post-processing of Delaunay 3d-reconstruction.
- Mesh Smoothing
num of vertices: 2135547
num of facets: 4268725
num of boundary edges: 1167
Time of Kernel << PQGFSmoothing >> 338.622 ms.
#include <cuMesh/SurfaceMesh.h>
#include <cuMesh/algorithm/UpdateTopology.cuh>
#include <cuMesh/algorithm/SurfaceSmoothing.cuh>
int main (int argc, char **argv) {
cuMesh::VFMeshData mesh_data;
cuMesh::readPLY(argv[1], mesh_data);
cuMesh::Topology::UpdateHalfEdge(mesh_data);
cuMesh::Smoothing::PQGFSmoothing(mesh_data, 2, 5, 1);
cuMesh::writePLY(argv[2], mesh_data);
}
git clone --recurse-submodules [email protected]:anapupa/cuMesh.git
cd cuMesh && mkdir build
cmake .. && make -j 10