You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardexpand all lines: README.md
+22-6
Original file line number
Diff line number
Diff line change
@@ -11,7 +11,7 @@ For example, here is a log-log plot of Manifold's performance vs. earlier OpenSC
11
11
12
12
## [ManifoldCAD.org](https://manifoldcad.org)
13
13
14
-
If you like OpenSCAD / JSCAD, you might also like ManifoldCAD - our own solid modelling web app. Our WASM is not GPU-accelerated, but it's still quite fast and a good way to test out our Manifold library.
14
+
If you like OpenSCAD / JSCAD, you might also like ManifoldCAD - our own solid modelling web app. Our WASM is not multithreaded yet, but it's still quite fast and a good way to test out our Manifold library.
@@ -31,11 +31,16 @@ of this repository may solve the problem.
31
31
32
32
This is a modern C++ library that Github's CI verifies builds and runs on a variety of platforms. Additionally, we build bindings for JavaScript ([manifold-3d](https://www.npmjs.com/package/manifold-3d) on npm), Python, and C to make this library more portable and easy to use.
33
33
34
-
We have four core dependencies, making use of submodules to ensure compatibility:
35
-
-`graphlite`: connected components algorithm
36
-
-`Clipper2`: provides our 2D subsystem
37
-
-`GLM`: a compact vector library
38
-
-`Thrust`: Nvidia's parallel algorithms library (basically a superset of C++17 std::parallel_algorithms)
34
+
System Dependencies (note that we will automatically download the dependency if there is no such package on the system):
35
+
-[`GLM`](https://github.com/g-truc/glm/): A compact header-only vector library.
36
+
-[`Thrust`](https://github.com/NVIDIA/thrust): NVIDIA's parallel algorithms library (basically a superset of C++17 std::parallel_algorithms)
37
+
-[`tbb`](https://github.com/oneapi-src/oneTBB/): Intel's thread building blocks library. (only when `MANIFOLD_PAR=TBB` is enabled)
38
+
-[`gtest`](https://github.com/google/googletest/): Google test library (only when test is enabled, i.e. `MANIFOLD_TEST=ON`)
-`MANIFOLD_PAR=[<NONE>, TBB]`: Provides multi-thread parallelization, requires `libtbb-dev` if `TBB` backend is selected.
68
76
-`MANIFOLD_EXPORT=[<OFF>, ON]`: Enables GLB export of 3D models from the tests, requires `libassimp-dev`.
69
77
-`MANIFOLD_DEBUG=[<OFF>, ON]`: Enables internal assertions and exceptions.
78
+
-`MANIFOLD_TEST=[OFF, <ON>]`: Build unittests.
79
+
-`TRACY_ENABLE=[<OFF>, ON]`: Enable integration with tracy profiler.
80
+
See profiling section below.
70
81
-`BUILD_TEST_CGAL=[<OFF>, ON]`: Builds a CGAL-based performance [comparison](https://github.com/elalish/manifold/tree/master/extras), requires `libcgal-dev`.
71
82
83
+
Offline building:
84
+
-`FETCHCONTENT_SOURCE_DIR_GLM`: path to glm source.
85
+
-`FETCHCONTENT_SOURCE_DIR_GOOGLETEST`: path to googletest source.
86
+
-`FETCHCONTENT_SOURCE_DIR_THRUST`: path to NVIDIA thrust source.
87
+
72
88
The build instructions used by our CI are in [manifold.yml](https://github.com/elalish/manifold/blob/master/.github/workflows/manifold.yml), which is a good source to check if something goes wrong and for instructions specific to other platforms, like Windows.
0 commit comments