我正在进行光线追踪,希望通过一些加速结构(kd树、BVH等)来提高速度。但我不想自己编写代码。到目前为止,我尝试过以下方法:
- 从pbrt中提取kd树。由于存在太多内部依赖关系,如果没有将整个pbrt引入我的代码中,我就无法成功实现。 - CGAL的AABB树。令人沮丧的是,它似乎只返回交点。而不知道交点来自哪个三角形,我就无法高效地在三角形上插值颜色。我很想扩展“点”的概念并添加颜色,但这似乎需要从头开始编写大量模板代码。 - 编写自己的加速结构。好吧,我编写了自己的网格加速类,它可以工作,但它很糟糕而且效率低下。
因此,如果有人能建议一个简单的库供我使用,我会非常感激!我所需要的只是给定一个三角形集和一条光线,找到最近的交点并返回该三角形的索引。
- 从pbrt中提取kd树。由于存在太多内部依赖关系,如果没有将整个pbrt引入我的代码中,我就无法成功实现。 - CGAL的AABB树。令人沮丧的是,它似乎只返回交点。而不知道交点来自哪个三角形,我就无法高效地在三角形上插值颜色。我很想扩展“点”的概念并添加颜色,但这似乎需要从头开始编写大量模板代码。 - 编写自己的加速结构。好吧,我编写了自己的网格加速类,它可以工作,但它很糟糕而且效率低下。
因此,如果有人能建议一个简单的库供我使用,我会非常感激!我所需要的只是给定一个三角形集和一条光线,找到最近的交点并返回该三角形的索引。