【技术实现步骤摘要】
对于任意宽度的层级加速结构的压缩堆栈表示的装置和方法
本专利技术一般涉及图形处理器的领域。更特别地,本专利技术涉及用于执行更高效光线追踪操作的装置和方法。
技术介绍
光线追踪是其中通过基于物理地渲染来模拟光传输的技术。被广泛用在电影渲染中,直到仅几年前,它还被认为对于实时性能来说过于资源密集。光线追踪中的关键操作之一是处理针对被称为“光线遍历(raytraversal)”的光线场景交叉(intersection)的可见性查询,所述“光线遍历”通过遍历和交叉包围体积层级(boundingvolumehierarchy)(BVH)中的节点来计算光线场景交叉。去噪已变成对于利用平滑、无噪图像的实时光线追踪的关键特征。渲染可以跨多个设备上的分布式系统进行,但迄今为止,现有的去噪框架全部在单个机器上的单个实例上操作。如果渲染跨多个设备进行,则它们可能没有使所有经渲染的像素可访问来计算图像的去噪部分。附图说明可以结合附图从以下详细描述中获得对本专利技术的更好理解,在附图中:图1是具有处理器的计算机 ...
【技术保护点】
1.一种装置,包括:/n光线生成器,所述光线生成器用于在第一图形场景中生成多个光线;/n包围体积层级(BVH)生成器,所述BVH生成器用于构造包含多个按层级设置的节点的BVH,其中,所述BVH包含在所述层级中父代节点之下的当前BVH水平处的规定数目的子代节点;/n遍历/交叉电路,所述遍历/交叉电路用于使一个或多个所述光线遍历通过所述BVH的所述按层级设置的节点以形成当前遍历路径,并且使所述一个或多个光线与包含在所述节点内的图元交叉;以及/n遍历追踪电路,所述遍历追踪电路用于维持路径编码阵列以存储与所述当前遍历路径有关的路径数据,所述路径数据包括当前被遍历的子代节点的索引;/ ...
【技术特征摘要】
20181228 US 16/2356041.一种装置,包括:
光线生成器,所述光线生成器用于在第一图形场景中生成多个光线;
包围体积层级(BVH)生成器,所述BVH生成器用于构造包含多个按层级设置的节点的BVH,其中,所述BVH包含在所述层级中父代节点之下的当前BVH水平处的规定数目的子代节点;
遍历/交叉电路,所述遍历/交叉电路用于使一个或多个所述光线遍历通过所述BVH的所述按层级设置的节点以形成当前遍历路径,并且使所述一个或多个光线与包含在所述节点内的图元交叉;以及
遍历追踪电路,所述遍历追踪电路用于维持路径编码阵列以存储与所述当前遍历路径有关的路径数据,所述路径数据包括当前被遍历的子代节点的索引;
其中所述遍历/交叉电路要阻止一个或多个后续光线与它们源自的图元再次交叉,和/或基于所述路径编码阵列中的所述路径数据来避免再次遍历所述当前遍历路径。
2.如权利要求1所述的装置,其中所述路径数据包括一个或多个附加子代节点的索引,并且其中所述子代节点并不通过与当前光线起点的命中距离来分类。
3.如权利要求1或2所述的装置,还包括:
固定大小的短遍历堆栈,所述固定大小的短遍历堆栈包括比在所述父代节点之下的子代节点的所述数目要少的规定数目的条目,每个条目与所述当前BVH水平处的子代节点相关联,基于每个相应子代节点的经分类的距离在所述短遍历堆栈内从顶部到底部对所述条目排序,
其中,每个条目包括用于指示该条目是否与所述当前BVH水平中的最终子代节点相关联的字段;
其中,所述遍历/交叉电路将从所述遍历堆栈的所述顶部处理条目,在条目被处理时移除所述条目,所述遍历/交叉电路用来通过读取所述字段中的第一值来确定当前条目与所述当前BVH水平处的所述最终子代节点相关联。
4.如权利要求3所述的装置,其中,所述值包括单一位值,所述单一位值被设置为1以指示所述条目与所述当前BVH水平中的所述最终子代节点相关联。
5.如权利要求4所述的装置,其中,所述遍历/交叉电路在确定所述当前条目与所述当前BVH水平处的所述最终子代节点相关联之后,将移动到所述BVH的新的节点集合。
6.权利要求3的装置,还包括:
分类电路和/或逻辑,所述分类电路和/或逻辑用于基于所述子代节点到所述光线的起点的距离对所述当前BVH水平处的所述子代节点分类;以及
索引电路和/或逻辑,所述索引电路和/或逻辑用于维持具有一定数目的索引条目的子索引阵列,所述一定数目等于所述BVH的深度,其中,每个条目识别在所述BVH的特定水平处当前正被遍历的子代子树。
7.如权利要求6所述的装置,其中,当所述遍历/交叉电路完成处理在相关联BVH水平处的给定子代节点时,索引条目中的索引值增加。
8.如权利要求7所述的装置,其中,与小于所述索引条目中的当前索引值的索引值相关联的子代节点已经由所述遍历/交叉电路处理。
9.如权利要求8所述的装置,其中,在重启的情况下,所述遍历/交叉电路将在与所述当前索引值相关联的所述子代节点处重启,并且将避免重新处理与小于所述当前索引值的索引值相关联的那些子代节点,并且基于所述路径编码阵列中的所述路径数据还将避免再次遍历所述当前遍历路径。
10.一种方法,包括:
在第一图形场景中生成多个光线;
构造包含多个按层级设置的节点的BVH,其中,所述BVH包含在所述层级中父代节点之下的当前BVH水平处的规定数目的子代节点;
使一个或多个所述光线遍历通过所述BVH的所述按层级设置的节点以形成当前遍历路径;
将所述一个或多个光线与所述节点内含有的图元交叉;以及
维持路径编码阵列以存储与所述当前遍历路径有关的路径数据,所述路径数据包括当前被遍历的子代节点的索引;
评估所述路径编码阵列中的所述路径数据以阻止一个或多个后续光线与它们源自的图元再次交叉,和/或避免再次遍历所述当前遍历路径。
11.如权利要求10所述的方法,其中所述路径数据包括一个或多个附加子代节点的索引,并且其中所述子代节点并不通过与当前光线起点的命中距离来分类。
12.如权利要求10或11所述的方法,还包括:
提供固定大小的短遍历堆栈,所述固定大小的短遍历堆栈包括比在所述父代节点之下的子代节点的所述数目要少的规定数目的条目,每个条目与所述当前BVH水平处的子代节点相关联,基于每个相应子代节点的经分类的距离在所述短遍历堆栈内从顶部到底部对所述条目排序;
其中,每个条目包括用于指示该条目是否与所述当前BVH水平中的最终子代节点相关联的字段;
其中,将从所述遍历堆栈的所述顶部处理条...
【专利技术属性】
技术研发人员:K维亚纳桑,S伍普,C本辛,
申请(专利权)人:英特尔公司,
类型:发明
国别省市:美国;US
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。