当前位置: 首页 > 专利查询>英特尔公司专利>正文

利用平面重复使用的降低精度的光线遍历制造技术

技术编号:19562228 阅读:92 留言:0更新日期:2018-11-25 00:36
公开了用于实现用于图形处理的降低精度的包围体层级结构光线遍历的方法、一种或多种非瞬态计算机可读介质以及装置。所述方法包括以下步骤:在子节点中,在用于图形处理的降低精度的包围体层级结构光线遍历中重复使用针对母节点的计算。通过在子节点中重复使用针对母节点的计算,降低精度的包围体层级结构光线遍历的计算成本可被降低。

Optical traversal with reduced accuracy using planar reuse

A method, one or more non-transient computer-readable media and devices for realizing ray traversal of enclosure hierarchical structures for reduced accuracy in graphics processing are disclosed. The method comprises the following steps: in the sub-node, the calculation for the parent node is repeatedly used in the ray traversal of the enclosure hierarchical structure for reducing the accuracy of graphics processing. By repeatedly using the calculation for the parent node in the child node, the calculation cost of reducing the accuracy of ray traversal in the bounding volume hierarchical structure can be reduced.

【技术实现步骤摘要】
【国外来华专利技术】利用平面重复使用的降低精度的光线遍历
技术介绍
包围体层级结构(BVH)可以改进光线跟踪算法。BVH是封围场景内的对象的包围体的树。光线跟踪通过跟踪光线通过虚拟三维环境的路径来生成图像。不是针对大量对象中的每一个对象检查光线遍历,而是可以更容易地针对封围那些对象的BVH中的体积(“母节点”)检查光线遍历。如果是这样,则可以连续地针对较小的包围体(“同级节点(siblingnode)”)测试光线交叉。在降低精度的包围体层级结构中,选择局部低分辨率网格,使得网格的原点与母u轴对齐,并且将网格的尺寸选择为是二的幂的、且大于母边界框的尺寸的最小值。通过计算局部网格中的边界框坐标的整数偏移来量化边界框。具有包围体的BVH可以由轴对齐的边界框表示,该轴对齐的边界框使用其最小坐标p和最大坐标q来指定,其中可以通过将这些坐标量化成局部低分辨率网格来压缩这些坐标,并在遍历BVH以评估光线场景交叉时对这些坐标进行解压缩。在下文中,点p的分量作为p=(p0,p1,p2)而被访问。设(u母,v母)是经量化的边界框的对应坐标。下一步是对母框内的子框进行编码。由于BVH压缩是有损的,因此经解压缩的坐标可以与未经量化的坐标不同。选择局部低分辨率网格,使得网格的原点与u母对齐,并且网格的尺寸被选择为是二的幂的且大于母边界框的最小值。通过计算边界框坐标相对于网格原点的相对偏移并将结果量化为少量比特Nb来导出经量化的边界框。对于轴i,这些操作通过以下公式来描述:其中,是沿着x的网格尺寸,并且是相对于经量化的母边界框的经量化的偏移。使用地板(floor)舍入模式保证指数由下式给出:如在公式3和4中所描述,当从根节点遍历BVH时,可以迭代地从经量化的坐标解压缩边界框:其中,(u,v)是在遍历的开始时利用根节点的全精度坐标进行初始化的经分解的坐标。si的值递增1,这补偿了由公式1中最右边的地板操作引入的负误差。这也保证了vi-ui>0,如果母节点从子节点被解压缩,则这对于确定性网格尺寸而言是必须的。光线和经压缩的BVH之间的交叉可以通过遍历BVH、解压缩节点边界框并计算光线边界框交叉来确定,该光线边界框交叉可以使用Kay和Kajiya的平板(slab)测试来评估。该测试计算沿着光线到限定了边界框的面的平面(称为平板)对的三个距离间隔。平板测试使用参数化的光线表示o+td,其中o是光线原点,d是光线方向,并且t是沿光线的参数距离。沿每个轴i计算一对参数距离:λi=(ui-oi)wi(5)μi=(vi-oi)wi(6)其中是光线斜率。可以类似地计算对应于y轴和z轴的参数距离。假设斜率(wx,wy,wz)为正,如果满足下式则光线与边界框交叉:max(λmax,tmin)≤min(μmin+2ulp(μmin,tmax)(7)其中λmax和tmin分别是λi和μi的最大值和最小值,并且(tmin,tmax)表示光线的剪辑距离。函数ulp()返回有限精度浮点值的最后位置中的单位。添加此补偿项umin可保证水密性(watertight)交叉结果。如果斜率wi为负,则必须交换λi和μi的对应值。如果在每个遍历步骤之后光线的原点移动到更接近边界框,则可以使用降低精度的算法执行平板测试。这可以通过在每个遍历步骤之后更新光线的原点来完成。然而,如果修改了光线原点,则针对母节点计算的(λ,μ)的值不能被重新用于子节点。因此,对于一对同级节点,必须针对十二个边界平面中的每一个对公式5和公式6求值,这使得计算的数量加倍。附图说明参照以下附图描述一些实施例:图1是根据一个实施例的用于压缩方案的局部网格的描绘;图2是根据一个实施例的用于包围体层级结构编码的流程图;图3是根据一个实施例的用于计算光线包围体层级结构交叉的流程图;图4是根据一个实施例的被压缩和存储在一起的一对同级节点的描绘;图5是根据一个实施例的处理系统的框图;图6是根据一个实施例的处理器的框图;图7是根据一个实施例的图形处理器的框图;图8是根据一个实施例的图形处理引擎的框图;图9是图形处理器的另一实施例的框图;图10是根据一个实施例的线程执行逻辑的描绘;图11是根据一些实施例的图形处理器指令格式的框图;图12是图形处理器的另一实施例的框图;图13A是根据一些实施例的图形处理器命令格式的框图;图13B是示出了根据一些实施例的图形处理器命令序列的框图;图14是根据一些实施例的示例性图形软件架构的描绘;图15是示出了根据一些实施例的IP核开发系统的框图;图16是示出了根据一些实施例的示例性芯片上系统集成电路的框图;图17是根据一个实施例的芯片上系统中的图形处理器的框图;并且图18是根据一个实施例的另一图形处理器的框图。具体实施方式在一些实施例中,降低精度的包围体层级结构(BVH)和光线遍历使得能够通过低成本的固定功能硬件实现高性能的实时光线追踪。通过对在母BVH节点与其两个子节点之间共享的六个边界平面重复使用光线框交叉计算,可以减少光线遍历的计算成本。遗憾的是,利用先前的降低精度的遍历方法,这种重复使用是不可能的。光线遍历算法中的水密性交叉(即,没有裂缝)对于降低精度的光线遍历尤为重要,在降低精度的光线遍历中,数值误差可能更大,从而导致错过交叉。在一些实施例中,降低精度的遍历算法使得能够重复使用对在母节点与其子节点之间共享的边界平面的计算,并保证水密性交叉。一对同级节点的包围体与母节点共享六个边界平面(坐标)。通过利用这一点,一对同级节点的(在二叉树中的)边界可以与六个经量化的偏移和一对3位的掩码(l,m)一起存储,这些掩码将坐标分配给左同级或右同级。假设二叉树的深度优先布局,存储一个位以指示内部节点或叶节点、一对同级节点的六个经压缩的坐标、一对3位的掩码以及对右子节点对的Np位的索引,如表1中所示。如果右子节点对的索引相对于母节点,则此索引始终为偶数,并且可以丢弃此索引的最低有效位。因此,如果Np是用于子索引的位数,则单个BVH可以包含个节点。假设Nb=6并且Np=21,则只需要8个字节来存储一对节点。通过将边界框解压缩与遍历相结合,降低精度的遍历算法可以重复使用对与母节点共享的平面的计算。这种组合遍历方法迭代地累积相对于母节点的参数距离:由于ri是精度降低的项,因此能以降低的精度计算公式8和9中的乘法运算。斜率si的精度可以减小一小部分,以进一步降低算法复杂度。可以修改BVH量化方案以实现水密性交叉。使用此遍历算法,经解压缩的边界框不再可用。因此无法直接计算指数e母。用于计算指数的低成本方法避免了对边界框进行解压缩。对于每个遍历步骤,可以通过有限精度浮点算术引入数值误差,这导致参数距离的下限(λ下限,μ下限)和上限(λ上限,μ上限)。假设斜率wi为正,水密性交叉点的必要和充分条件是对于每个轴i,并且μ下限≥μi。第一个遍历步骤之后的上限λi可以从公式9导出:其中∈是底层浮点表示的机器ε(epsilon),并通过计算斜率wi、内部乘法和外部加法,误差被引入。的值可以从公式1中最左边的表达式中导出:从公式12往回运作,朝着水密性交叉的第一步或标准是通过修改公式3来确保如框16中所示:其中RU()将浮点运算的结果舍入到如由用于浮点算术的IEEE标准(IEEE754)中指定的上限值。利用固定功能光线遍历,可本文档来自技高网...

【技术保护点】
1.一种方法,包括:在子节点中,在用于图形处理的降低精度的包围体层级结构光线遍历中重复使用针对母节点的计算。

【技术特征摘要】
【国外来华专利技术】2016.04.04 US 62/317,684;2016.06.15 US 15/182,6941.一种方法,包括:在子节点中,在用于图形处理的降低精度的包围体层级结构光线遍历中重复使用针对母节点的计算。2.如权利要求1所述的方法,包括:对于最小节点坐标,识别与最小母节点坐标不同的坐标。3.如权利要求2所述的方法,包括:计算母节点坐标与子节点坐标之间的差异。4.如权利要求3所述的方法,包括:对所述差异进行量化。5.如权利要求2所述的方法,包括:对于最大节点坐标,识别与最大母节点坐标不同的坐标。6.如权利要求5所述的方法,包括:计算母节点坐标与子节点坐标之间的差异。7.如权利要求6所述的方法,包括:对所述差异进行量化。8.如权利要求1所述的方法,包括:确定光线进入边界框的位置并使用第一经量化的坐标ri以获得第一参数距离λi。9.如权利要求8所述的方法,包括:使用第二经量化的坐标si确定所述光线在所述边界框中存在的位置以获得第二参数距离μi。10.如权利要求9所述的方法,包括:通过使用降低精度的乘法将所述光线的斜率与λi相乘并将所述光线的斜率与μi相乘来比较μi和λi以确定光线/边界框交叉。11.一种或多种非瞬态计算机可读介质,存储用于执行包括以下步骤的序列的指令:在子节点处,在用于图形处理的降低精度的包围体层级结构光线遍历中重复使用针对母节点的计算。12.如权利要求11所述的介质,包括:对于...

【专利技术属性】
技术研发人员:K·瓦德亚纳桑M·萨尔维
申请(专利权)人:英特尔公司
类型:发明
国别省市:美国,US

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1