2 unstable releases
0.2.0 | Dec 28, 2022 |
---|---|
0.1.0 | Dec 13, 2022 |
#1767 in Game dev
210KB
4K
SLoC
Hedron
An all-in-one 3D modelling crate, written in Rust!
What it contains (or will contain)
-
A full set of geometry models:
- planar:
Line
,Circle
,Triangle
, ... - curves:
Polyline
,Bezier
,Spline
, ... - surfaces:
BezierSrf
(TODO),SplineSrf
(TODO), ... - solids:
Mesh
,Polyhedron
(WIP),Solid
, ... - graphs:
Graph
(WIP), ...
- planar:
-
operators on those models:
- Point / Vector tools (Closest point) (TODO)
- Transformations between the various models
- Modelling operations (
loft
,inset
,extrude
,split
,subdivide
) (TODO) - Intersections (intersect mesh with line) (TODO)
- Boolean operators (join two solids) (TODO)
-
Various extra features:
- Direct bevy integration:
--features bevy
- Obj / Mtl exporting
- Svg exporting (TODO)
- Various mathematical tools to support the operations mentioned above.
- Direct bevy integration:
Use cases
-
Basic Modelling: Hedron could be used to develop a 3D modelling tool, a very basic
blender
clone. -
Procedural Geometry / 'Parametric Design': Hedron is intended for parametric modelling, akin to what can be done with Rhino & Grasshopper.
-
Web Geometry Processing: The crate can be complied to WebAssembly, allowing these operations to be used on the web.
What it is not
- No GIS support : The crate offers no tooling to load and process large geographical datasets.
- Not BIM ready : Currently, the crate does not support IFC models.
- Not CAD ready : The crate does not support common CAD file types such as STL. It also does not contain constructive solid geometry (CSG) models.
Design
Hedron is designed to strike a balance between usability and expressiveness. It sacrifices A CGAL-level of expressivenes, in favor of a more simple and predictable API.
Stage: Pre Alpha
Hedron is currently in an very early stage. I don't recommend you use this library quite yet, but hopefully some of the models and operations presented can help you nonetheless!
Dependencies
~4–23MB
~338K SLoC