我正在进行光线追踪,并希望通过一些加速结构(kd-tree、BVH 等)来加速它。我不想自己编码。到目前为止我已经尝试过:
将 kd-tree 从 pbrt 中拉出。有太多的内部依赖关系,如果不将所有 pbrt 都拉到我的代码中,我就无法成功。
CGAL 的 AABB 树。令人沮丧的是,这似乎只返回了交点。在不知道该点来自哪个三角形的情况下,我无法在三角形上有效地插入颜色。我很想用颜色来扩展“点”的概念,但是如果不从头开始编写大量模板代码,这似乎是不可能的。
自己写。好的,所以我编写了自己的网格加速类,它可以工作,但它很讨厌而且效率低下。
因此,如果有人可以建议一个我可以用于此目的的简单库,我将不胜感激!我只需要一个三角形汤和射线,找到最近的交点并返回该三角形的索引。