我在科学环境中使用具有大型体素网格的 C++ 工作,我正在尝试决定使用哪个库。只有一小部分体素网格保存值 - 但每个体素(例如结构)可能有几个值,这些值由光线跟踪确定。我不想渲染任何东西,但我必须确定穿过整个目标区域的潜在光线数量,因此必须计算大量的光线盒计算,并且最好非常快......
到目前为止,我发现
- OpenVDB http://www.openvdb.org/
- Field3d http://sites.google.com/site/field3d/
后者更有吸引力,因为它看起来更简单/更容易使用。
我的问题是:如果将它们中的哪一个用于不针对渲染/可视化的任务中,它们中的哪一个会更适合?在计算大量光线盒交点(不可能进行视点相关剔除)时,哪一个更快/更好?建议,有人吗?
无论如何,我想使用现有的 C++ 库而不是自己编写 kdTree/Octree 等。没有时间重新发明轮子。