提问人:Matt Bierner 提问时间:10/28/2023 更新时间:10/28/2023 访问量:19
金属光线追踪:按从最近到最远的顺序查找沿射线的所有交点
Metal raytracing: find all intersections along ray in order from nearest to farthest
问:
我正在使用 Metal 光线追踪 API 来与轴对齐边界框的加速结构相交。为了便于我使用,我需要以可预测的顺序(理想情况下是最接近到最远)找到沿射线的所有交点
我目前正在用它来寻找交叉点。但是,返回交叉点的顺序似乎是可靠的intersection_query
有没有一些可以从中获得距离排序的结果?如果没有,有没有其他方法可以使用 Metal 光线追踪 API 获得有序交集?intersection_query
答:
0赞
Spo1ler
10/28/2023
#1
该 API 不允许您对交叉点进行排序或获取它们的列表,您只能获得一个交叉点结果或提交的交叉点,但您可以按照以下方式执行某些操作。
这并不是真正特定于 API 的。首先,你找到最近的交叉点,然后在那个点生成一条新的光线,直到你用完了可以相交的东西。您需要根据是否需要背面交集来配置查询和跨部门,但还需要设置为 false。accept_any_intersection
如果你正好在交点生成下一条光线,它就有可能自相交。只是在光线上增加的明显方法并不是真正正确的。简单的方法是在相交点沿几何法线偏移光线原点。但最好的方法在一篇名为“避免自交的快速而稳健的方法”的论文中进行了描述,作者是 Carsten Wächter 和 Nikolaus Binder,NVIDIAmin_distance
"
评论