I'm new to processing 3D data with c++ (or c++0x) and I'm trying to write simple application, which will allow to process such data (model, subdivide etc). I'm searching for something like '3d geometry engine' - engine that handles efficently 3d geometry in memory and gives API to modify its componens (vertexes, points, polygons (not only triangles), attributes of vertexes, etc). I was searching for something like that, but without luck. Could you recommend any (best open-source) 3D geometry engine, that will have such api, if there is any engine freely available?
Thank you.
If your main concern is processing polygonal meshes (like your question suggests, although "3d geometry engine" might mean something broader), you can look into OpenMesh. As you mentioned C++0x, I assume you are no enemy with templates, so you might like OpenMesh, as it makes heavy use of generic programming constructs, to make up an easy to use, but still very efficient mesh datastructure. It does not come with too much pre-factured algorithms for mesh processing, but some few that might be a starting point for implementing your own algorithms.
CGAL provides a wide variety of mesh processing algorithms and comes with custom number types for exact floating point arithmetic.
You can try http://pointclouds.org/.
According to the website : The Point Cloud Library (or PCL) is a large scale, open project for point cloud processing.
The PCL framework contains numerous state-of-the art algorithms including filtering, feature estimation, surface reconstruction, registration, model fitting and segmentation.
PCL is released under the terms of the BSD license and is open source software. It is free for commercial and research use. We are financially supported by Willow Garage, NVidia, Google, and Toyota.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With