【技术实现步骤摘要】
光线跟踪系统中的相交测试
[0001]本公开涉及在光线跟踪系统中执行相交测试的技术。
技术介绍
[0002]光线跟踪是一种计算渲染技术,其用于通过从相机的视点在场景中跟踪光路(“光线”)来生成场景(例如3D场景)的图像。每个光线被建模为源自相机,并通过像素进入场景。当光线横越场景时,其可能与场景内的物体相交。可对光线和其相交的物体之间的相交建模以创建逼真的视觉效果。例如,响应于确定光线与物体相交,可以针对相交执行着色器程序(即,计算机代码的一部分)。程序员可以编写着色器程序以定义系统如何对相交(所述相交例如可能导致向场景中发射一个或多个二次光线)作出反应,例如,以表示光线从相交物体的反射或光线通过物体的折射(例如,如果物体是透明或半透明的)。作为另一示例,着色器程序可以使一个或多个光线发射到场景中,以用于确定物体是否处于交点处的阴影中。执行着色器程序(和处理相关的二次光线)的结果可以是计算光线穿过的像素的颜色值。
[0003]为了减少需要执行的相交测试的次数,光线跟踪系统可以生成加速结构,其中加速结构的每个节点表示场景内的区域。加速结构通常是分层的(例如,具有树结构),使得其包含多个级别的节点,其中靠近加速结构的顶部的节点表示场景中相对大的区域(例如,根节点可以表示整个场景),靠近加速结构的底部的节点表示场景中相对小的区域。“树节点”是指具有指向分层加速结构中的其它节点的指针的节点(即,树节点在分层加速结构中具有子节点)。“叶节点”是指具有指向一个或多个图元的一个或多个指针的节点(即,叶节点在分层加速结构中不 ...
【技术保护点】
【技术特征摘要】
1.一种在光线跟踪系统中执行相交测试的计算机实施的方法,所述方法包括:接收要测试与框的相交的光线束;从所述光线束的视角标识所述框的轮廓边缘;针对标识的轮廓边缘中的每一个:获得向所述光线束提供边界的向量的分量;以及确定所述向量是在所述轮廓边缘的内部还是外部穿过;以及使用针对所述标识的轮廓边缘中的每一个确定所述向量是在所述轮廓边缘的内部还是外部穿过的结果,确定所述光线束相对于所述框的相交测试结果。2.根据权利要求1所述的方法,其中,针对所述标识的轮廓边缘中的每一个,所述获得向量的分量包括获得向所述光线束提供单个边界的单个向量的分量。3.根据权利要求1或2所述的方法,其中,针对所述标识的轮廓边缘中的每一个,确定所述向量是在所述轮廓边缘的内部还是外部穿过所针对的所述向量是针对所述光线束确定所述向量是在所述轮廓边缘的内部还是外部穿过的唯一向量。4.根据任一前述权利要求所述的方法,其中使用针对所述标识的轮廓边缘中的每一个确定所述向量是在所述轮廓边缘的内部还是外部穿过的所述结果而不使用确定任何其它向量是在所述轮廓边缘的内部还是外部穿过的任何其它结果来确定所述光线束相对于所述框的所述相交测试结果。5.根据任一前述权利要求所述的方法,其中,针对所述标识的轮廓边缘中的每一个,所述向量相对于所述标识的轮廓边缘向所述光线束提供外部边界,使得如果所述向量不在所述标识的轮廓边缘的外部穿过,则已知所述束的所述光线均不在所述标识的轮廓边缘的外部穿过。6.根据权利要求5所述的方法,其中如果针对所述标识的轮廓边缘中的每一个确定所述向量在相应的标识的轮廓边缘的内部穿过,则所述光线束相对于所述框的所述相交测试结果是所述光线束中的所有所述光线均与所述框相交;并且其中如果针对所述标识的轮廓边缘中的一个或多个确定所述向量在所述相应的标识的轮廓边缘的外部穿过,则所述光线束相对于所述框的所述相交测试结果不是所述光线束中的所有所述光线均与所述框相交。7.根据权利要求6所述的方法,其中如果所述光线束相对于所述框的所述相交测试结果不是所述光线束中的所有所述光线均与所述框相交,则所述方法还包括确定所述光线束中的所述光线中的任一个是否与所述框相交。8.根据权利要求1至4中任一项所述的方法,其中,针对所述标识的轮廓边缘中的每一个,所述向量相对于所述标识的轮廓边缘向所述光线束提供内部边界,使得如果所述向量不在所述标识的轮廓边缘内部穿过,则已知所述束的所述光线均不在所述标识的轮廓边缘的内部穿过。9.根据权利要求8所述的方法,其中如果针对所述标识的轮廓边缘中的每一个确定所述向量在相应的标识的轮廓边缘的内部穿过,则所述光线束相对于所述框的所述相交测试结果不是所述光线束中的所有所述光线均错过所述框;并且
其中如果针对所述标识的轮廓边缘中的一个或多个确定所述向量在所述相应的标识的轮廓边缘的外部穿过,则所述光线束相对于所述框的所述相交测试结果是所述光线束中的所有所述光线均错过所述框。10.根据权利要求9所述的方法,其中如果所述光线束相对于所述框的所述相交测试结果不是所述光线束中的所有所述光线均错过所述框,则所述方法还包括确定所述光线束中的所述光线中的哪些与所述框相交。11.根据任一前述权利要求所述的方法,还包括:执行方向检查以确定所述框是否在所述光线束的原点后方,其中如果所述方向检查确定所述框在所述光线束的所述原点后方,则所述相交测试结果是所述光线束错过所述框;和/或执行距离检查以确定所述光线束是否终止于所述框前方的点,其中如果所述距离检查确定所述光线束终止于所述框前方的点,则所述相交测试结果是所述光线束错过所述框。12.根据权利要求1所述的方法,其中所述光线束的所有所述光线均具有相同的原点并且其中,针对所述标识的轮廓边缘中的每一个,所述确定所述向量是在所述轮廓边缘的内部还是外部穿过包括根据下式执行比较:(p
o,i
‑
o
i
)d
j
<(p
o,j
‑
o
j
)d
i
,其中p
o,i
是表示形成所述轮廓边缘的所述框的第一侧的第一平面上的点的...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。