体素数据结构的库

Which library for voxel data structure?

本文关键字:数据结构      更新时间:2023-10-16

我正在用c++在科学环境中使用大型体素网格,我正试图决定使用哪个库。只有一小部分体素网格可以保存值——但每个体素可能有几个(例如struct),这是由光线追踪确定的。我不想渲染任何东西,但我必须确定穿过整个目标区域的射线的潜在数量,因此必须计算大量的射线盒计算,并且最好非常快……

到目前为止,我找到

  • OpenVDB http://www.openvdb.org/
  • Field3d http://sites.google.com/site/field3d/

后者更有吸引力,因为它看起来更简单/更容易使用。

我的问题是:它们中的哪一个更适合用于任务,而不是针对渲染/可视化?当计算大量的射线盒交叉点时,哪一个更快/更好(不可能有依赖于视点的剔除)?建议,有人知道吗?

在任何情况下,我想使用现有的c++库,而不是自己编写kdTree/Octree等。不要再浪费时间做无谓的重复了。

我建议

  1. OpenSceneGraph
  2. Ogre3D
  3. VTK

我个人使用了前两个。然而,VTK也是一个受欢迎的选择。它们都支持基于体素的渲染