我知道这不是 OptiX 的主要目标,但是当光线行进(球体行进)标记距离场时它是相关的,所以我想我会尝试。我最初为此创建了自己的 BVH,但我希望从最近的所有光线追踪工作和 RTX 加速中受益。
我假设对 OptiX 7 API 有一些基本的了解。
我最初的尝试涉及将optixTrace
光线方向设置为,{0, 0, 0}
但这只会触发光线原点位于 AABB 内部的形状的交叉点(有意义)。{inf, inf, inf}
然后,我设置似乎触发每个基元的相交调用的光线方向,无论 AABB 距离或报告tMax
值如何。
我尝试了其他一些光线方向和tMax
/tMin
值的组合,我考虑了各种OPTIX_RAY_FLAGS
但似乎没有任何效果。
理想情况下,最好只查询tMax
距离射线原点不远的边界框。这显然是与 ray-aabb 交叉点不同的检查,但我很好奇是否可能有一些我遗漏的 API 标志/掩码/功能允许这样做。直接访问加速结构层次结构在这里也可以提供帮助,但我在编程指南中没有看到任何相关内容。