3D geometry

I am new to 3D data processing using C ++ (or C ++ 0x), and I am trying to write a simple application that will allow to process such data (model, unit, etc.). I'm looking for something like a β€œ3d geometry engine” - an engine that efficiently processes 3D geometry in memory and provides an API for modifying its components (vertices, points, polygons (not just triangles), vertex attributes, etc.). I was looking for something similar, but with no luck. Could you recommend any (best open source) 3D geometry engine that will have such an api if there is a free engine?

Thanks.

+6
source share
6 answers

If your main problem is processing polygonal meshes (like, for example, your question, although the β€œ3D geometry engine” may mean something broader), you can look at OpenMesh . As you mentioned C ++ 0x, I assume that you are not the enemy of templates, so you might like OpenMesh, as it makes extensive use of common programming constructors to create an easy-to-use but still very efficient grid data structure. It does not contain too many predefined algorithms for processing cells, but some of them may be the starting point for implementing your own algorithms.

+4
source

CGAL provides a wide range of grid processing algorithms and comes with custom number types for accurate floating point arithmetic.

+4
source

You can try http://pointclouds.org/ .

According to the website: Cloud Cloud Library (or PCL) is a large-scale, open source project for processing point clouds.

The PCL structure contains many modern algorithms, including filtering, object evaluation, surface reconstruction, registration, model setup, and segmentation.

PCL is licensed under the BSD and is open source software. It is free for commercial and research purposes. We support financial support for Willow Garage, NVidia, Google and Toyota.

+3
source

I had success with VTK. This may not be the best API for working with meshes, but it works and has decent functionality to display them. And I know at least a few guys of computational geometry who work exclusively with it, so this cannot be absolutely bad :)

+2
source

You can try Graphite, an open source geometry processing platform, much easier to handle than CGAL by providing Delaunay, etc.
http://alice.loria.fr/index.php?option=com_content&view=article&id=22

This is definitely more advanced than β€œjust processing triangles and points,” but it provides interesting, often necessary functionality for mesh processing.

+2
source

You can try our free Basic Geometry Library, which is the basic geometry-oriented geometry library. It supports several platforms: Windows, Linux, Mac OS X, Android. You can download it from the BGL homepage . BGL examples.

0
source

Source: https://habr.com/ru/post/894825/


All Articles