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

用于高效地存储光线遍历数据的装置和方法制造方法及图纸

技术编号:24801349 阅读:17 留言:0更新日期:2020-07-07 21:21
本申请公开了用于高效地存储光线遍历数据的装置和方法。例如,装置的一个实施例包括:光线生成器,用于在第一图形场景中生成多条光线;包围体层级结构(BVH)生成器,用于构建包括多个在层级结构上布置的节点的BVH,其中BVH包括在层级结构中位于父节点下方的在当前BVH级别的指定数量的子节点;遍历/相交电路,用于使光线中的一条或多条遍历通过BVH的在层级结构上布置的节点以形成当前遍历路径并且使一条或多条光线与被包含在节点内的基元相交;以及遍历跟踪电路,用于维持路径编码数组以存储与当前遍历路径相关的路径数据,路径数据包括当前被遍历的子节点的索引。

【技术实现步骤摘要】
用于高效地存储光线遍历数据的装置和方法背景
本专利技术总体上涉及图形处理器的领域。更具体地,本专利技术涉及用于高效地存储光线遍历数据的装置和方法。
技术介绍
光线追踪是在其中通过基于物理的渲染来模拟光传输的技术。尽管在电影渲染中广泛使用,但是直到仅仅几年前,人们认为其对于实时性能是过于资源密集型的。光线追踪中的关键操作之一是被称为“光线遍历”的对光线-场景相交的可见性查询,“光线遍历”通过遍历包围体层级结构(BVH)中的节点并使BVH中的节点相交来计算光线-场景相交。降噪已成为对于具有平滑的、无噪声图像的实时光线追踪的关键特征。可跨分布式系统在多个设备上完成渲染,但是到目前为止,现有的降噪框架全都对于单个机器上的单个实例进行操作。如果正在跨多个设备进行渲染,则这些设备可能无法使所有经渲染的像素对于计算图像的经降噪的部分可访问。附图说明结合以下附图,从以下具体实施方式可获得对本专利技术更好的理解,其中:图1是具有处理器的计算机系统的实施例的框图,该处理器具有一个或多个处理器核和图形处理器;图2是处理器的一个实施例的框图,该处理器具有一个或多个处理器核、集成存储器控制器以及集成图形处理器;图3是图形处理器的一个实施例的框图,该图形处理器可以是分立的图形处理单元,或者可以是与多个处理核集成的图形处理器;图4是用于图形处理器的图形处理引擎的实施例的框图;图5是图形处理器的另一实施例的框图;图6A-图6B图示执行电路和逻辑的示例;图7图示根据实施例的图形处理器执行单元指令格式;图8是图形处理器的另一实施例的框图,该图形处理器包括图形流水线、媒体流水线、显示引擎、线程执行逻辑以及渲染输出流水线;图9A是图示根据实施例的图形处理器命令格式的框图;图9B是图示根据实施例的图形处理器命令序列的框图;图10图示根据实施例的用于数据处理系统的示例性图形软件架构;图11A-图11B图示示例性IP核开发系统,其可用于制造集成电路和示例性封装组件;图12图示根据实施例的可使用一个或多个IP核来制造的示例性芯片上系统集成电路;图13A-图13B图示可使用一个或多个IP核来制造的芯片上系统集成电路的示例性图形处理器;图14A-图14B图示示例性图形处理器架构;图15图示用于执行机器学习架构的初始训练的架构的一个实施例;图16图示在其中持续训练机器学习引擎并在运行时期间更新机器学习引擎的一个实施例;图17图示在其中持续训练机器学习引擎并在运行时期间更新机器学习引擎的另一实施例;图18A-图18B图示在其中在网络上共享机器学习数据的实施例;并且图19图示用于训练机器学习引擎的方法的一个实施例;图20图示在其中节点交换虚假(ghost)区域数据以执行分布式降噪操作的一个实施例;图21图示在其中跨多个节点分布图像渲染和降噪操作的架构的一个实施例;图22图示用于分布式渲染和降噪的架构的附加细节;图23图示根据本专利技术的一个实施例的方法;图24图示机器学习方法的一个实施例;图25图示多个经互连的通用图形处理器;图26图示用于机器学习实现的卷积层和全连接层的集合;图27图示卷积层的一个实施例。图28图示机器学习实现中经互连的节点的集合的示例;图29图示在其中神经网络使用训练数据集进行学习的训练框架的实施例;图30A图示模型并行性和数据并行性的示例;图30B图示芯片上系统(SoC)的示例;图31图示处理架构的示例,该处理架构包括光线追踪核和张量核;图32图示光束的示例;图33图示用于执行光束追踪的装置的实施例;图34图示光束层级结构的示例;图35图示用于执行光束追踪的方法;图36图示分布式光线追踪引擎的示例;图37-图38图示在光线追踪系统中执行的压缩的示例;图39图示根据本专利技术的一个实施例的方法;图40图示示例性混合式光线追踪装置;图41图示用于光线追踪操作的栈的示例;图42图示混合式光线追踪装置的一个实施例的附加细节;图43图示包围体层级结构的示例;图44图示调用栈和遍历状态存储的示例;图45图示其中每个父节点包括八个子节点的示例包围体;图46图示包括经压缩的遍历栈的架构的一个实施例;图47图示包括经压缩的遍历栈和子索引阵列的遍历单元;以及图48图示使用路径编码阵列来避免重新追踪先前的遍历路径的一个实施例。具体实施方式在下面的描述中,出于解释的目的,阐述了众多特定细节以便提供对下文所描述的本专利技术的实施例的透彻理解。然而,对本领域技术人员将显而易见的是,可在没有这些特定细节中的一些细节的情况下实施本专利技术的实施例。在其他实例中,以框图形式示出公知的结构和设备,以避免使本专利技术的实施例的基本原理变得模糊。示例性图形处理器架构和数据类型系统概览图1是根据实施例的处理系统100的框图。在各实施例中,系统100包括一个或多个处理器102以及一个或多个图形处理器108,并且可以是单处理器台式机系统、多处理器工作站系统或具有大量处理器102或处理器核107的服务器系统。在一个实施例中,系统100是被并入在用于在移动设备、手持式设备或嵌入式设备中使用的芯片上系统(SoC)集成电路内的处理平台。在一个实施例中,系统100可包括以下各项或可并入在以下各项内:基于服务器的游戏平台、包括游戏和媒体控制台的游戏控制台、移动游戏控制台、手持式游戏控制台或在线游戏控制台。在一些实施例中,系统100是移动电话、智能电话、平板计算设备或移动互联网设备。处理系统100也可包括可穿戴设备,可与可穿戴设备耦合或可集成在可穿戴设备内,该可穿戴设备诸如,智能手表可穿戴设备、智能眼镜设备、增强现实设备或虚拟现实设备。在一些实施例中,处理系统100是电视机或机顶盒设备,该电视机或机顶盒设备具有一个或多个处理器102以及由一个或多个图形处理器108生成的图形界面。在一些实施例中,该一个或多个处理器102各自都包括一个或多个处理器核107,该一个或多个处理器核107用于处理指令,这些指令当被执行时,执行用于系统和用户软件的操作。在一些实施例中,一个或多个处理器核107中的每一个处理器核都被配置成处理特定的指令集109。在一些实施例中,指令集109可促进复杂指令集计算(CISC)、精简指令集计算(RISC)或经由超长指令字(VLIW)的计算。多个处理器核107各自都可处理不同的指令集109,不同的指令集109可包括用于促进对其他指令集的仿真的指令。处理器核107也可包括其他处理设备,诸如数字信号处理器(DSP)。在一些实施例中,处理器102包括高速缓存存储器104。取决于架构,处理器102可具有单个内部高速缓存或多级的内部高速缓存。在一些实施例中,高速缓存存储器在本文档来自技高网...

【技术保护点】
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

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

1