3d几何引擎

3d geometry engine

本文关键字:引擎 何引擎 3d      更新时间:2023-10-16

我是用c++(或c++0x)处理3D数据的新手,我正在尝试编写简单的应用程序,这将允许处理这些数据(模型,细分等)。我正在寻找类似"3d几何引擎"的东西-在内存中有效处理3d几何的引擎,并提供API来修改其组件(顶点,点,多边形(不仅是三角形),顶点属性等)。我一直在寻找类似的东西,但运气不好。你能推荐任何(最好的开源)3D几何引擎,将有这样的api,如果有任何引擎免费提供?

谢谢。

如果您主要关注的是处理多边形网格(如您的问题所建议的,虽然"3d几何引擎"可能意味着更广泛的东西),您可以查看OpenMesh。正如你提到的c++ 0x,我假设你不是模板的敌人,所以你可能喜欢OpenMesh,因为它大量使用泛型编程结构,来构建一个易于使用,但仍然非常有效的网格数据结构。它没有提供太多用于网格处理的预制算法,但有一些可能是实现自己算法的起点。

CGAL提供了多种网格处理算法,并提供了用于精确浮点运算的自定义数字类型。

您可以试试http://pointclouds.org/.

根据网站:点云库(或PCL)是一个大型的、开放的点云处理项目。

PCL框架包含许多最先进的算法,包括滤波、特征估计、表面重建、配准、模型拟合和分割。

PCL是在BSD许可条款下发布的,是开源软件。它是免费的商业和研究用途。我们得到了Willow Garage、NVidia、Google和Toyota的资金支持。

我在VTK上取得了一些成功。它可能不是处理网格的最佳API,但它可以工作,并且具有显示网格的良好功能。我知道至少有几个计算几何的家伙专门用它工作,所以它不可能完全坏:)

你可以试试石墨,一个开源的几何处理框架,比CGAL更容易处理,同时提供Delaunay等。
= article& http://alice.loria.fr/index.php?option=com_content&视图id = 22

这绝对比"只处理三角形和点"更高级,但为网格处理提供了有趣的通常必要的功能。