提问人:Matt Bierner 提问时间:10/28/2023 更新时间:10/28/2023 访问量:19
金属intersection_query到候选基元的距离
Metal intersection_query distance to candidate primitive
问:
我正在使用 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()
有没有一种快速的内置方法来获得这个距离,或者我必须自己实现这个计算?
答:
0赞
Spo1ler
10/28/2023
#1
在交集函数或交集查询中都无法获取到边界框的距离。
事实上,您需要自己计算它才能提供给函数或从函数返回函数。commit_bounding_box_intersection()
[[intersection(bounding_box)]]
评论
0赞
Matt Bierner
10/28/2023
也许是这样,但这不是很有帮助。即使金属没有暴露它,你也绝对可以自己计算它
0赞
Spo1ler
10/28/2023
不仅可以,还需要这样做才能提交边界框交集。问题是,除了自己计算之外,是否有办法获得这个距离,答案是“否”。
评论