Difference between revisions of "List of programmatic 3D modelling tools"
From apm
(→Misc) |
(added elm-csg) |
||
Line 24: | Line 24: | ||
== Misc == | == Misc == | ||
+ | * elm-csg (elm, CSG) [https://github.com/kraklin/elm-csg (github)] | ||
+ | ---- | ||
* CGAL (C++) [https://www.cgal.org/ (landing page)] [https://en.wikipedia.org/wiki/CGAL (wikipedia)] | * CGAL (C++) [https://www.cgal.org/ (landing page)] [https://en.wikipedia.org/wiki/CGAL (wikipedia)] | ||
* OpenCASCADE (B-Rep, C++) [https://en.wikipedia.org/wiki/Open_Cascade_Technology (wikipedia)] | * OpenCASCADE (B-Rep, C++) [https://en.wikipedia.org/wiki/Open_Cascade_Technology (wikipedia)] |
Revision as of 08:25, 21 June 2023
Up: Constructive solid geometry
Code: DSL libraries for CSG, CSG software, ...
- B-Rep – OpenSCAD – OpenSCADs website – (uses CGAL under the hood – C/C++)
Interestingly OpenSCAD ...
- ... is a 100% pure/denotative/side-effect-free by design. But as of 2021 it ...
- ... is not a higher order functional language with functions as "first class citizens".
There are quite a few copycat projects of OpenSCAD around.
Unfortunately they all seem to fail to implement a hard guarantee on code purity – (inheriting impurity from their substrate language).
Beyond OpenSCAD of the software artifacts listed here only implicitcad can give hard guarantees on purity (there enforced by types).
Related: Relations of APM to purely functional programming
- B-Rep – csg.js – (javascript library)
- F-Rep – libfive (formerly AO) (on github) — (guile scheme software)
- F-Rep – Foglemans SDF library — (python library)
- F-Rep – implicitcad – (haskell DSL)
- F-Rep – MiniSageCAD experiment on Thingiverse (implemented in the sage computer algebra system)
- F-Rep (2D) – rendering engine of the enso programming language (rust library)
- F-Rep SDF-code on shadertoy – many examples there
– Raymarching - Primitives ~ by iq
– shadertoy: tag=sdf
Misc
- elm-csg (elm, CSG) (github)
- CGAL (C++) (landing page) (wikipedia)
- OpenCASCADE (B-Rep, C++) (wikipedia)
- JSCAD (github)
- BRL-CAD (C++, CSG) (landing page) (wikipedia)