A C# library for 2D/3D geometric computing, mesh algorithms, and spatial data structures, compatible with Unity.
geometry3Sharp is a C# library for 2D and 3D geometric computation, mesh algorithms, and spatial data structures. It provides tools for mesh manipulation (simplification, remeshing, booleans), distance/intersection queries, curve/surface modeling, and implicit surface generation, targeting applications in 3D graphics, CAD, and simulation.
C# developers working in 3D graphics, CAD, simulation, 3D printing, or game development (especially with Unity) who need robust geometric algorithms without licensing restrictions.
It offers a comprehensive, permissively licensed (Boost) alternative to commercial geometry kernels, with seamless Unity integration, performance-oriented data structures, and algorithms ported from established C++ libraries like WildMagic5.
C# library for 2D/3D geometric computation, mesh algorithms, and so on. Boost license.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Offers a wide range of algorithms from mesh simplification (Reducer) to spatial queries (DMeshAABBTree3), ported from established C++ libraries like WildMagic5, making it a one-stop shop for geometric computing.
Provides transparent interop with Unity types via the G3_USING_UNITY define, allowing direct assignment between g3 and Unity vectors, which is ideal for game and VR development.
Uses struct-based math types and efficient data structures like DVector and DMesh3, optimized for speed in mesh processing and spatial queries, as highlighted in the philosophy.
Released under the Boost license, enabling commercial use, modification, and distribution without restrictive terms, which is attractive for both open-source and proprietary projects.
The library has been on hiatus and is undergoing a major update in the dotnet8 branch with substantial breaking changes, such as removing float versions of types, risking compatibility for existing codebases.
Lacks comprehensive API documentation; instead, it relies on blog tutorials for guidance, which may be insufficient for deep dives or troubleshooting beyond basic use cases.
Contains unsafe code for fast-buffer copies, which might be problematic for certain environments like web players, and some algorithms like MeshBoolean are admitted to be non-robust, limiting reliability in critical operations.