MeshCraft
| MeshCraft | |
|---|---|
| Website | https://meshcraft.openeggbert.com |
| Programming language | C++ |
| C++ standard | C++23 |
| Licence | MIT |
| Development status | Early prototype |
| Inspired by | Ray Dream Studio, Google SketchUp |
| Dependencies | CNA, Sharp Runtime |
MeshCraft is a C++23 application for building and editing 3D models from primitive shapes, groups, materials, and constructive solid geometry (CSG). Models are stored in the .mc3 format — a human-readable YAML-based source format that can be compiled to glTF/GLB for use in games and real-time applications.
MeshCraft is inspired by Ray Dream Studio and Google SketchUp.
The MC3 Format
MC3 (Mesh Craft 3D) is the native source format used by MeshCraft. It describes models as editable constructive objects rather than raw triangle meshes.
Key capabilities: - Primitive shapes: box, sphere, cylinder, cone, plane - Hierarchical groups and transforms - Materials and textures (PBR-style) - CSG operations: union, difference, intersection - Reusable definitions (prefabs) - Object actions and states for interactive/animated models - Export target: glTF/GLB
Planned features
- Primitive creation tools (box, sphere, cylinder, plane, cone)
- Transforms: position, rotation (XYZ extrinsic Euler), scale, pivot
- Materials and textures (PBR)
- CSG operations: union, difference, intersection
- Object hierarchy and grouping
- Object actions and animations (opening doors, moving objects, etc.)
- Export to glTF/GLB
- 3D editor UI: main viewport, object hierarchy panel, properties panel, tool palette, transform gizmo
Build
cmake -S . -B build
cmake --build build
./build/MeshCraft