【技术实现步骤摘要】
光线跟踪系统中的相交测试
[0001]本公开涉及在光线跟踪系统中执行相交测试的技术。
技术介绍
[0002]光线跟踪是一种计算渲染技术,其用于通过通常从相机的视角在场景中跟踪光路(
‘
光线
’
)来生成场景(例如,3D场景)的图像。每条光线被建模为源自相机,并通过像素进入场景。当光线横越场景时,其可能与场景内的对象相交。可对光线和其相交的对象之间的相交建模以创建逼真的视觉效果。例如,响应于确定光线与对象相交,可以针对相交执行着色器程序(即,计算机代码的一部分)。程序员可以编写着色器程序以定义系统如何对相交(所述相交例如可能导致向场景中发射一个或多个二次光线)作出反应,例如,以表示光线从相交对象的反射或光线通过对象的折射(例如,如果对象是透明或半透明的)。作为另一示例,着色器程序可以使一条或多条光线发射到场景中,以用于确定对象是否处于交点处的阴影中。执行着色器程序(和处理相关的二次光线)的结果可以是计算光线穿过的像素的颜色值。
[0003]使用光线跟踪渲染场景的图像可以涉及执行许多相交测试,例如执行数十亿个相交测试以渲染场景的图像。为了减少需要执行的相交测试的数量,光线跟踪系统可以生成加速结构,其中加速结构的每个节点表示场景内的区域。加速结构通常是分层的(例如,具有树结构),使得其包含多个级别的节点,其中靠近加速结构的顶部的节点表示场景中相对大的区域(例如,根节点可以表示整个场景),靠近加速结构的底部的节点表示场景中相对小的区域。“树节点”是指具有指向分层加速结构中的其他节点的 ...
【技术保护点】
【技术特征摘要】
1.一种在光线跟踪系统中确定光线是否与三维轴对齐框相交的方法,其中所述框表示由所述三维轴对齐框的每个维度的前向平面和后向平面定义的体积,所述方法包括:确定缩放的逆光线分量ρ
u
和ρ
v
,其中和其中第三缩放的逆光线分量其中D
u
,D
v
和D
w
是所述光线的光线方向向量D的分量,其中D
w
是所述光线方向向量的主分量,使得|D
w
|≥|D
u
|且|D
w
|≥|D
v
|,并且其中A是标量值;使用将所述光线的未缩放的最小剔除距离t
min,unscaled
乘以AD
w
的量值的结果来确定缩放的最小剔除距离t
min,scaled
;使用将所述光线的未缩放的最大剔除距离t
max,unscaled
乘以AD
w
的量值的结果来确定缩放的最大剔除距离t
max,scaled
;使用所述缩放的逆光线分量来确定到定义所述框的所述平面的缩放的相交距离;标识所确定的到所述框的前向平面的所述缩放的相交距离中的最大距离;标识所确定的到所述框的后向平面的所述缩放的相交距离中的最小距离;确定是否:(i)所标识的到所述框的前向平面的最大缩放的相交距离不大于所标识的到所述框的后向平面的最小缩放的相交距离;(ii)所标识的到所述框的前向平面的最大缩放的相交距离不大于所述缩放的最大剔除距离t
max,scaled
;并且(iii)所标识的到所述框的后向平面的最小缩放的相交距离不小于所述缩放的最小剔除距离t
min,scaled
;以及如果满足所述三个确定(i)至(iii)中的全部,则确定所述光线与所述框相交,并且如果不满足所述三个确定(i)至(iii)中的一个或多个,则确定所述光线未命中所述框。2.根据权利要求1所述的方法,其中A=1。3.根据权利要求1或2所述的方法,所述框表示由针对所述三维轴对齐框的维度u,v和w中的每一个维度的前向平面和后向平面所定义的体积,其中b
min,u
是针对u维度的所述前向平面的恒定u分量值,b
max,u
是针对u维度的所述后向平面的恒定u分量值,所述b
min,v
是针对v维度的所述前向平面的恒定v分量值,b
max,v
是针对v维度的所述后向平面的恒定v分量值,b
min,w
是针对w维度的所述前向平面的恒定w分量值,并且b
max,w
是针对w维度的所述后向平面的恒定w分量值,其中所述使用所述缩放逆光线分量确定到定义所述框的所述平面的缩放的相交距离包括:通过将b
min,u
和ρu相乘来确定到针对u维度的所述前向平面的缩放的相交距离τ
u,min
;通过将b
max,u
和p
u
相乘来确定到针对u维度的所述后向平面的缩放的相交距离τ
u,max
;通过将b
min,v
和ρ
v
相乘来确定到针对v维度的所述前向平面的缩放的相交距离τ
v,min
;通过将b
max,v
和ρ
v
相乘来确定到针对v维度的所述后向平面的缩放的相交距离τ
v,max
;确定到针对w维度的所述前向平面的缩放的相交距离τ
w,min
,使得τ
w,min
=b
min,w
ρ
w
;确定到针对w维度的所述后向平面的缩放的相交距离τ
w,max
,使得τ
w,max
=b
max,w
ρ
w
。4.根据权利要求3所述的方法,还包括:
如果b
min,u
,b
max,u
,b
min,v
,b
max,v
,b
min,w
或b
max,w
值中的任一者的量值为零,则将所述值的所述量值设置为等于非零的替代值,所述非零的替代值足够小,使得在确定和比较所述叉乘值中的两个叉乘值的运算中,所述非零的替代值将表现得像零;以及如果ρ
u
值或ρ
v
值的量值为无穷大,则将所述值的所述量值设置为等于有限替代值,所述有限替代值足够大,使得在确定和比较所述缩放的相交距离中的两个缩放的相交距离的运算中,所述有限替代值将表现得像无穷大。5.根据权利要求3或4所述的方法,还包括从定义所述框的所述前向平面和所述后向平面的位置的相应分量中减去所述光线的原点的相应分量,从而确定b
min,u
,b
max,u
,b
min,v
,b
max,v
,b
min,w
和b
max,w
的值。6.根据任一项前述权利要求所述的方法,其中所述光线方向向量利用空间坐标系中的分量D
x
,D
y
和D
z
来定义,并且其中所述方法还包括选择性地置换所述光线的x、y和z分量以及所述框的所述分量,以确定所述空间坐标系的x、y和z分量如何映射到u、v和w维度上,从而确保D
w
是所述光线方向向量的所述主分量,使得|D
w
|≥|D
u
|和|D
w
|≥|D
v
|。7.根据任一项前述权利要求所述的方法,还包括选择性地反转所述光线的所述分量的所述轴和所述轴对齐框,使得D
u
≥0,D
v
≥0和D
w
≥0。8.根据权利要求7在从属于权利要求3时所述的方法,还包括:如果t
min,caled
≥0和t
max,scaled
≥0,则确定是否b
max,u
≥0,b
max,v
≥0和b
max,w
≥0,其中所述确定到定义所述框的所述平面的缩放的相交距离是响应于确定b
max,u
≥0,b
max,v
≥0和b
max,w
≥0而执行,其中如果b
max,u
,b
max,v
和b
max,w
中的任一者都大于零,则确定所述光线未命中所述框,而无需确定到定义所述框的所述平面的缩放的相交距离;如果t
min,scaled
≤0和t
max,scaled
≤0,则确定是否为b
min,u...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。