当前位置: 首页 > 专利查询>苹果公司专利>正文

带有并行光线测试的光线相交电路制造技术

技术编号:32446393 阅读:12 留言:0更新日期:2022-02-26 08:13
本公开涉及带有并行光线测试的光线相交电路。所公开的技术涉及用于光线跟踪的光线相交处理。在一些实施方案中,光线相交电路遍历以空间形式组织的加速数据结构并且包括边界区域电路,该边界区域电路被配置为并行地测试光线是否与由数据结构的节点指示的多个不同边界区域相交。着色器电路可执行光线相交指令以调用光线相交电路的遍历,并且该遍历可生成相交结果。着色器电路可基于该相交结果对相交基元进行着色。相对于传统技术,共享相交电路和着色器处理器之间的处理的所公开的技术可改善性能、降低功率消耗或实现两者。降低功率消耗或实现两者。降低功率消耗或实现两者。

【技术实现步骤摘要】
带有并行光线测试的光线相交电路


[0001]本公开整体涉及图形处理器中的光线跟踪,并且更具体地涉及被配置为检测光线和图形基元之间的相交的电路。

技术介绍

[0002]在计算机图形中,光线跟踪是用于通过跟踪作为图像平面中像素的光的路径并模拟其与虚拟对象相遇的效果来生成图像的渲染技术。光线跟踪可允许在场景中的任何两个点之间的三维中可见度的分辨率,这也是其大部分计算成本的来源。典型的光线跟踪器在光传播的相反方向上对穿过场景的光的路径进行采样,从相机开始并传播到场景中,而不是从光源开始(这有时称为“向后光线跟踪”)。从相机开始具有仅跟踪对相机可见的光线的有益效果。该系统可对光栅器建模,其中光线简单地停止在第一表面处,并且调用着色器(类似于片段着色器)来计算颜色。更常见的次要效果(其中场景元素之间的照明交换,诸如漫内反射和透射)也被建模。评估表面反射属性的着色器可调用另外的相交查询(例如,生成新光线)以从其他表面捕获入射照明。该递归过程具有许多表达方式,但通常被称为路径跟踪。
[0003]相对于传统光栅化系统,实施光线跟踪的图形处理器通常提供更逼真的场景和照明效果。然而,光线跟踪通常是计算昂贵的。对光线跟踪技术的改进可改进图形场景中的真实性、改进性能(例如,允许每帧跟踪更多光线、在更复杂的场景中跟踪,或两者)、降低功率消耗(这在电池供电的设备中可能特别重要)等。
附图说明
[0004]图1A是示出根据一些实施方案的示例性图形处理操作的概述的图示。
[0005]图1B是示出根据一些实施方案的示例性图形单元的框图。
[0006]图2是示出根据一些实施方案的使用ADS的示例性光线跟踪过程的图示。
[0007]图3A是示出根据一些实施方案的包括着色器处理器电路和相交电路的示例性图形处理器的框图。
[0008]图3B是示出根据一些实施方案的使用光线相交电路检测光线相交的示例性方法的流程图。
[0009]图4是示出根据一些实施方案的示例性ADS树结构的框图。
[0010]图5是示出根据一些实施方案的使用光线栈的BVH树的示例性深度优先遍历的图示。
[0011]图6是示出根据一些实施方案的光线相交电路与其他图形电路的示例性连接性的框图。
[0012]图7是示出根据一些实施方案的详细示例性并行边界区域测试电路的框图。
[0013]图8是示出根据一些实施方案的用于存储光线数据的光线着色器核心空间(SCS)的示例性组织的图示。
[0014]图9是示出根据一些实施方案的示例性节点数据结构的图示。
[0015]图10是示出根据一些实施方案的示例性大小可配置叶数据结构的图示。
[0016]图11是示出根据一些实施方案的具有可变大小叶节点的ADS树结构的示例性存储器布局的图示。
[0017]图12是示出根据一些实施方案的相交电路、节点测试电路、存储器区域和由着色器电路执行的SIMD组之间的示例性数据流的图示。
[0018]图13是示出根据一些实施方案的与图12的数据流相关联的示例性方法的流程图。
[0019]图14A是示出根据一些实施方案的用于动态形成用于基元测试的SIMD组的示例性技术的框图。
[0020]图14B是示出根据一些实施方案的用于动态形成用于基元测试的SIMD组的示例性方法的流程图。
[0021]图15是示出根据一些实施方案的边界区域和基元之间的示例性多对多映射的图示。
[0022]图16是示出根据一些实施方案的用于生成具有多对多映射的空间组织数据结构的示例性方法的流程图。
[0023]图17是示出根据一些实施方案的当遍历加速数据结构时用于光线变换的SIMD组的示例性动态形成的图示。
[0024]图18是示出根据一些实施方案的用于动态形成用于光线坐标变换的SIMD组的示例性方法的流程图。
[0025]图19A是示出根据一些实施方案的在遍历期间不同光线当前指向ADS中的不同节点的示例性情况的图示。
[0026]图19B是示出根据一些实施方案的示例性分组控制电路的框图。
[0027]图19C是示出根据一些实施方案的用于对光线进行分组的示例性单独链接列表具体实施的图示。
[0028]图20是示出根据一些实施方案的在ADS遍历期间分组光线的示例性方法的流程图。
[0029]图21是示出根据一些实施方案的用于处理光线的示例性方法的流程图。
[0030]图22A是示出根据一些实施方案的着色器核心可访问的示例性高速缓存存储器分级结构的框图。
[0031]图22B是示出根据一些实施方案的多个着色器核心及其协处理器可访问的示例性高速缓存存储器分级结构的框图。
[0032]图23是示出根据一些实施方案的示例性线程组、着色器核心和设备存储器空间的图示。
[0033]图24是示出根据一些实施方案的用于不同存储器空间的示例性高速缓存组织和相干点的框图。
[0034]图25是示出根据一些实施方案的使用着色器存储器空间的示例性方法的流程图。
[0035]图26是根据一些实施方案的示出一种示例性计算设备的框图。
[0036]图27是示出根据一些实施方案的系统或设备的示例性应用的图示。
[0037]图28是示出根据一些实施方案的一种存储电路设计信息的示例性计算机可读介
质的框图。
具体实施方式
[0038]本公开阐述了各种光线跟踪技术,并且具体地阐述了光线相交技术。图1A至图2总体上提供了图形处理和光线跟踪的概述。图3A至图6提供了对光线相交加速器电路的示例性实施方案的介绍。
[0039]图7至图21提供了关于光线相交电路的实施方案和与其他图形电路的交互的附加细节。具体地讲,图7示出了并行节点测试电路,图8示出了用于在着色器和相交电路之间共享光线数据的存储器空间,图9至图11示出了示例性数据结构和存储器空间,图12至图13示出了示例性总体数据流,图14A至图14B示出了用于动态形成用于基元测试的SIMD组的示例性技术,图15至图16提供了边界区域和基元之间的多对多映射,图17至图18提供了用于在遍历期间动态形成SIMD组(例如,用于光线变换)的示例性技术,图19至图20提供了用于节点测试的示例性光线分组技术,并且图21提供了用于光线相交操作的总体流程图。图21至图25提供了关于着色器核心存储器空间的范围的细节。
[0040]图26示出了可包括图形处理器的示例性计算设备,图27示出了示例性应用,并且图28示出了存储电路设计信息的示例性计算机可读介质。
[0041]图形处理概述
[0042]参见图1A,其示出了示出用于处理图形数据的示例性处理流程100的流程图。在一些实施方案中,变换和照明过程110可涉及基于限定的光源位置、反射率等处理从应用程序接收的顶点的照明信息,将顶点组装成多边形(例如三角形),和/或基于三维空间中的位置来将多边形转换为正确的尺寸和取向。剪辑过程本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种装置,包括:图形着色器电路,所述图形着色器电路被配置为执行光线相交指令,所述光线相交指令指示图形场景中的一个或多个光线的集合的原点和方向信息;光线相交电路,所述光线相交电路被配置为:响应于所述光线相交指令而遍历以空间形式组织的加速数据结构中的多个节点,其中所述数据结构的节点指示对应于所述图形场景中的边界区域的坐标;在所述遍历期间使用边界区域测试电路并行地测试所述光线的集合中的光线是否与由所述数据结构的节点指示的多个不同边界区域相交;以及其中所述装置被配置为基于所述遍历和所述测试来确定指定与所述一个或多个光线的集合中的相应光线相交的一个或多个图形基元的信息;并且其中所述图形着色器电路被配置为基于相交光线来对指定的所述一个或多个图形基元进行着色。2.根据权利要求1所述的装置,其中所述边界区域测试电路被配置为针对所述多个不同边界区域并行地测试多个光线。3.根据权利要求1所述的装置,其中所述边界区域测试电路包括:多个边界区域测试器,所述多个边界区域测试器被配置为确定光线是否与边界区域相交并且被配置为并行地对多个边界区域执行所述测试;和公共节点计算电路,所述公共节点计算电路被配置为执行其输出由所述边界区域测试器共享的一个或多个操作。4.根据权利要求3所述的装置,其中所述边界区域测试电路还包括:边界区域数据高速缓存;光线数据高速缓存;和结果排序电路,所述结果排序电路被配置为基于到被测光线的原点的距离对来自所述多个边界区域测试器的相交结果进行排序。5.根据权利要求1所述的装置,其中所述装置被配置为将针对所述一个或多个光线的集合的光线数据存储在着色器存储器空间中,所述着色器存储器空间能够被所述图形着色器电路和所述光线相交电路访问。6.根据权利要求1所述的装置,其中所述图形着色器电路被配置为基于所述指定的一个或多个图形基元的着色来生成一个或多个附加光线,以及执行针对所述一个或多个附加光线的光线相交指令。7.根据权利要求1所述的装置,其中所述加速数据结构是分级结构,并且第一节点是上级加速数据结构的叶节点,所述第一节点在下级加速数据结构中具有子节点;其中所述下级加速数据结构对应于在所述图形场景中多次实例化的图形模型;以及其中所述光线相交电路被配置为形成SIMD组以将到达所述第一节点的一个或多个光线的坐标变换到所述图形模型的实例的模型空间。8.根据权利要求1所述的装置,其中所述加速数据结构的一个或多个节点包括四个或更多个边界区域以及四个或更多个子节点。9.根据权利要求1所述的装置,其中所述加速数据结构包括具有边界区域的节点,针对所述边界区域,多个基元被指
示为子;以及其中所述加速数据结构包括基元,针对所述基元,多个边界区域被指示为父。10.根据权利要求1所述的装置,其中所述光线相交电路被配置为形成SIMD组,以针对对应于所述数据结构的叶节点的基元来测试光线的集合。11.根据权利要求1所述的装置,其中所述光线相交电路被配置为使用分组电路基于所述光线将其作为下一个目标的所述数据结构的节点而将所述光线的集合的部分分组为多个组,其中所述测试是基于所述组。12.根据权利要求1所述的装置,其中所述装置是计算设备,所述计算设备包括:图形处理器...

【专利技术属性】
技术研发人员:A
申请(专利权)人:苹果公司
类型:发明
国别省市:

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

1