我正在使用 Metal 的光线追踪 API 中的
intersection_query
来与轴对齐边界框的加速结构相交。在我的着色器中,我试图找到相交发生的距离。示例代码:
ray r = ...;
primitive_acceleration_structure accelerationStructure = ...;
intersection_query<> i(r, accelerationStructure);
while (i.next()) {
float distance = // ???
...
}
但是我找不到如何从
intersection_query
获得这个距离。对于三角形数据,有 get_candidate_triangle_distance()
,但没有 get_candidate_primitive_distance()
。
有没有一种快速的内置方法来获得这个距离,还是我必须自己实现这个计算?
在交集函数或交集查询中都无法获取到边界框的距离。