【技术实现步骤摘要】
用于高效地存储光线遍历数据的装置和方法背景
本专利技术总体上涉及图形处理器的领域。更具体地,本专利技术涉及用于高效地存储光线遍历数据的装置和方法。
技术介绍
光线追踪是在其中通过基于物理的渲染来模拟光传输的技术。尽管在电影渲染中广泛使用,但是直到仅仅几年前,人们认为其对于实时性能是过于资源密集型的。光线追踪中的关键操作之一是被称为“光线遍历”的对光线-场景相交的可见性查询,“光线遍历”通过遍历包围体层级结构(BVH)中的节点并使BVH中的节点相交来计算光线-场景相交。降噪已成为对于具有平滑的、无噪声图像的实时光线追踪的关键特征。可跨分布式系统在多个设备上完成渲染,但是到目前为止,现有的降噪框架全都对于单个机器上的单个实例进行操作。如果正在跨多个设备进行渲染,则这些设备可能无法使所有经渲染的像素对于计算图像的经降噪的部分可访问。附图说明结合以下附图,从以下具体实施方式可获得对本专利技术更好的理解,其中:图1是具有处理器的计算机系统的实施例的框图,该处理器具有一个或多个处理器核和图形处理器;图2是处理器的一个实施例的框图,该处理器具有一个或多个处理器核、集成存储器控制器以及集成图形处理器;图3是图形处理器的一个实施例的框图,该图形处理器可以是分立的图形处理单元,或者可以是与多个处理核集成的图形处理器;图4是用于图形处理器的图形处理引擎的实施例的框图;图5是图形处理器的另一实施例的框图;图6A-图6B图示执行电路和逻辑的示例;图 ...
【技术保护点】
1.一种装置,包括:/n光线生成器,用于在第一图形场景中生成多条光线;/n包围体层级结构(BVH)生成器,用于构建包括多个在层级结构上布置的节点的BVH,其中所述BVH包括在所述层级结构中位于父节点下方的在当前BVH级别的指定数量的子节点;/n遍历/相交电路,用于使所述光线中的一条或多条遍历通过所述BVH的所述在层级结构上布置的节点以形成当前遍历路径并且使所述一条或多条光线与被包含在所述节点内的基元相交;以及/n遍历跟踪电路,用于维持路径编码数组以存储与所述当前遍历路径相关的路径数据,所述路径数据包括当前被遍历的子节点的索引;/n其中所述遍历/相交电路用于基于所述路径编码数组中的所述路径数据来防止随后的一条或多条光线与它们源自其中的基元重新相交和/或避免重新遍历所述当前遍历路径。/n
【技术特征摘要】
20181228 US 16/235,604;20190327 US 16/367,0621.一种装置,包括:
光线生成器,用于在第一图形场景中生成多条光线;
包围体层级结构(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
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。