4 ms·
I wish there was a better description of how geometry processing libraries differ - what does this do that say, open3d or CGAL doesn't?
by twelvechairs 4y ago
I wish there was a better description of how geometry processing libraries differ - what does this do that say, open3d or CGAL doesn't?
- yazzku 4y agoExactly my thought. If anything I would have merged this into CGAL. "30 research articles" is just the tip of the iceberg of what CGAL does. Also, Open3D is looking very cool, good pointer.
- jonas21 4y agoCGAL is GPL, while Geogram is BSD. That has a lot of practical consequences in how they can be used. Plus it's nice from an educational standpoint to have independent open-source implementations.
- BrunoLevy01 4y agoMerging Geogram into CGAL would be difficult, because besides the question of the license, they are developed with a rather incompatible programming style: - CGAL is fully generic and makes an extensive use of modern C++ / generic programming / templates. - Geogram is targeted towards several specific scenarii, with no compromise regarding efficiency and memory consumption. For instance, Geogram's data structures are based on contiguous arrays of values and indices, compact in memory, with fully parallel code, whereas CGAL uses for instance "property maps", that are more "generic" but that introduce a log(n) penalty for each individual access. TL;DR: CGAL is configurable/generic/has many tuning buttons. Geogram is highly optimized in terms of memory usage and speed for some specific applications. Which one is best for you ? Depends on what you want to do !
- BrunoLevy01 4y agoIt is always difficult to compare different "swiss army knives" with a completely different set of blades, and in the end this type of comparison often becomes something like "my library is better than theirs", which I don't like. This is why I do not have a "comparison table" with "this library does this and that". But I admit the list of features is not directly visible, I'll work on the main README. A good starting point to see the list of high-level operations supported by geogram: https://github.com/BrunoLevy/geogram/wiki#mini-tutorials-and-example-programs https://github.com/BrunoLevy/geogram/wiki#mini-tutorials-and...