MeshFrame
Overview
MeshFrame is a lightweight, header-only C++ mesh processing framework designed for efficiency and speed. It provides superior performance compared to other state-of-the-art libraries such as OpenMesh, MeshLab, and CGAL for common mesh processing tasks.
MeshFrame supports dynamic mesh structure editing at runtime, runtime dynamic properties, and both triangular and tetrahedral meshes. Being header-only, it requires no pre-compilation and can be easily integrated into any C++ project.
MeshFrame2 is the latest evolution, serving as the core mesh data structure library in the Gaia Engine.
Key Features
Blazing Fast
Superior efficiency compared to OpenMesh, CGAL, and MeshLab for common mesh processing operations.
Header-Only
No pre-compilation required. Simply include the headers in your C++ project and start using it immediately.
Triangle & Tetrahedral Mesh
Full support for both triangular surface meshes and tetrahedral volume meshes with unified API design.
Dynamic Editing
Supports dynamic mesh structure editing at runtime, including vertex/face/edge insertion and deletion.
Runtime Properties
Attach arbitrary data properties to mesh elements (vertices, edges, faces) at runtime without recompilation.
Zero Dependencies
No mandatory external dependencies. Eigen and FreeGlut are optional for numerical computation and visualization.
Getting Started
MeshFrame is header-only, so integration is straightforward:
# Clone the repository
git clone https://github.com/MeshFrame/MeshFrame.git
# Or for MeshFrame2 (latest version)
git clone https://github.com/AnkaChan/MeshFrame2.git
# Simply add the include directory to your project
# No compilation needed!
Optional dependencies:
- Eigen - For numerical computation
- FreeGlut - For built-in mesh viewer
Applications
MeshFrame has been used in various research and production projects:
- Gaia Engine - MeshFrame2 serves as the core mesh data structure for Gaia's physics simulation pipeline.
- Mesh Simplification - MeshFrame includes a very fast mesh simplification application built on its efficient data structures.
- Point Cloud Processing - Used in research on point cloud normal estimation and denoising.
- 3D Scanning - Applied in depth data alignment, texture synthesis, and mesh reconstruction projects.
Versions
MeshFrame
Original Version
The original mesh processing library with full documentation, viewer, and algorithm library.
57+ Stars
MeshFrame2
Latest Version
The successor, optimized for integration with Gaia Engine. Used as the core mesh library in production.
39+ Stars