用于加速光线跟踪的系统和方法技术方案

技术编号:37671676 阅读:13 留言:0更新日期:2023-05-26 04:33
一种图形处理单元(GPU)(300、400、500)包括适于执行软件实现的着色器程序的一个或多个处理器核心(304、406、502),以及适于遍历加速结构以计算光线与包围体和图形图元的相交点的一个或多个硬件实现的光线跟踪单元(RTU)(408、410、504)。所述RTU实现用于遍历(416)加速结构的遍历逻辑、栈管理和其他任务以减轻着色器上的负担,将相交点传送(418)到着色器,然后所述着色器计算(420)相交点是命中所相交的对象的透明部分还是不透明部分。因此,所述GPU内的一个或多个处理核心通过将处理的各方面卸载到RTU来执行加速光线跟踪,所述RTU遍历其中表示3D环境的加速结构。中表示3D环境的加速结构。中表示3D环境的加速结构。

【技术实现步骤摘要】
【国外来华专利技术】用于加速光线跟踪的系统和方法


[0001]本申请总体上涉及用于加速光线跟踪的系统和方法。

技术介绍

[0002]光线跟踪用于通过跟踪从假想观察者的眼睛(通常是相机位置)到图形中的虚拟对象的光路来模拟计算机生成的3D图形中的光学效应。相比于其他技术(诸如光栅化),光线跟踪产生具有更高程度的真实感的光学效应,但是计算成本更大。这意味着,在实时应用(诸如视频游戏)中,光线跟踪提出了挑战,因为渲染速度很关键。

技术实现思路

[0003]因此,一种用于图形处理的方法包括在图形处理单元(GPU)上执行着色器程序,该着色器程序执行由加速结构表示的3D环境的光线跟踪。该方法包括使用GPU内在着色器程序的请求下遍历加速结构的硬件实现的光线跟踪单元(RTU),并且在着色器程序处使用加速结构遍历的结果。
[0004]在示例性实施方案中,由RTU进行的加速结构遍历相对于着色器程序可以是异步的。在一些实现方式中,由RTU进行的加速结构遍历的结果包括对光线和包含在加速结构内的包围体(bounding volume)之间的相交点的检测。在一些示例中,RTU处理包括维护在加速结构遍历中使用的栈。
[0005]加速结构可以是具有多个层级的层次结构。在此类实施方案中,由RTU进行的加速结构遍历的结果可以包括对在加速结构的多个层级内从较高层级到较低层级的转变的检测。由RTU进行的加速结构遍历的结果还可以包括对在加速结构的多个层级内从较低层级到较高层级的转变的检测。由RTU进行的加速结构遍历可以包括对加速结构的多个层级之间的转变的处置。
[0006]在非限制性实现方式中,由RTU进行的加速结构遍历的结果可以包括对光线和包含在加速结构内的图元之间的相交点的检测。在此类实现方式中,由RTU进行的加速结构遍历的结果可以包括对光线和包含在加速结构内的图元之间的最早的相交点的检测。此外,由RTU进行的加速结构遍历的结果可以包括由RTU按照由RTU检测到的相交点与光线原点的距离对相交点进行的排序,使得RTU在其遍历加速结构时检测到光线和图元之间的第一相交点,RTU在其遍历加速结构时检测到光线和图元之间的第二相交点,并且在将结果从RTU传送到着色器程序时,在第一相交点结果之前传送第二相交点结果。如果需要,在由RTU检测到光线和包含在加速结构内的图元之间的相交点并且将该结果传送到着色器程序时,着色器程序和RTU随后就着色器程序在光线和图元之间进行的命中测试的结果进行通信。
[0007]在RTU检测到光线和包含在加速结构内的包围体之间的相交点并且将该结果传送到着色器程序时,着色器程序和RTU随后可就着色器程序关于是否忽略相交点的确定和/或着色器程序关于相交点沿光线的位置的确定进行通信。
[0008]在另一方面,一种图形处理单元(GPU)包括:至少一个处理器核心,该至少一个处
理器核心适于执行软件实现的着色器;以及至少一个硬件实现的光线跟踪单元(RTU),所述RTU与处理器核心分离并且适于遍历加速结构以标识光线与加速结构中所表示的对象的相交点,以生成结果,并且将所述结果返回给着色器以供着色器标识与相交点相关联的命中。
[0009]在该第二方面的示例性实现方式中,RTU可以包括用于标识相交点的硬件电路,并且着色器可以适于使用软件来标识命中。着色器可配置有可由处理器核心执行以对3D计算机图形中的像素进行着色的指令。
[0010]在该第二方面的一些实施方案中,RTU可以包括用于实现遍历逻辑以遍历加速结构的硬件电路。RTU可以包括用于实现对在加速结构的遍历中使用的栈的栈管理的硬件电路。此外,RTU可以包括用于按照与原点的距离对相交点进行排序的硬件电路。
[0011]在一些实现方式中,RTU适于与着色器标识命中异步地标识相交点。着色器可包括可由处理器核心执行以读取RTU的状态的指令。
[0012]在非限制性实施方案中,RTU可以包括用于将光线从具有多个层级的加速结构的较高层级所使用的坐标空间变换到加速结构的较低层级所使用的坐标空间的硬件电路。RTU还可以包括用于将光线从具有多个层级的加速结构的较低层级所使用的坐标空间变换到加速结构的较高层级所使用的坐标空间及/或将光线属性恢复为在遍历加速结构的较高层级时使用的光线属性的硬件电路。
[0013]在一些示例中,RTU可以包括用于标识第一光线和包含在加速结构内的第一包围体之间的第一相交点的硬件电路,并且着色器可以包括可执行来确定是否忽略第一相交点的指令,并且响应于确定不忽略第一相交点,标识第一相交点沿第一光线的位置。
[0014]处理器核心和RTU可以被支承在共同半导体管芯上。多个处理器核心和多个RTU可以在共同半导体管芯上。
[0015]在另一方面,一种组件包括适于执行至少一个着色器以对图形中的像素进行着色的至少一个处理器核心。该组件还包括与处理器核心分离的至少一个光线跟踪单元(RTU)。RTU包括硬件电路,该硬件电路用于标识光线和加速结构中所表示的对象的相交点以便由处理器核心标识与相交点相关联的命中,实现用于遍历加速结构的逻辑,以及实现对遍历加速结构时使用的数据栈的管理。
[0016]本申请的关于其结构和操作两者的细节可参考附图得到最好的理解,在附图中相同的附图标记指代相同的部分,并且在附图中:
附图说明
[0017]图1示出了加速结构;
[0018]图2示出了多级加速结构的其他细节;
[0019]图3示出了简化的图形处理单元(GPU);
[0020]图4示出了带有光线跟踪单元(RTU)的示例性GPU以及遍历图,该光线跟踪单元具有用于标识光线相交点的硬件电路、用于遍历加速结构的遍历逻辑以及栈管理电路;
[0021]图4A、图4B和图4C以示例性流程图格式示出了与图4一致的示例性逻辑;
[0022]图5示出了执行着色器和RTU之间的异步处理的两个示例性GPU;
[0023]图5A以示例性流程图格式示出了与图5一致的示例性逻辑;
[0024]图6示出了GPU,其中遍历图示出了不需要命中测试时的协作处理;
[0025]图7示出了涉及多级加速结构的其他示例;
[0026]图7A以示例性流程图格式示出了与图7一致的示例性逻辑;并且
[0027]图8示出了GPU,其中遍历图示出了由着色器确定的相交点。
具体实施方式
[0028]本公开总体上涉及计算机生态系统,其包括消费型电子(CE)装置网络的各个方面,诸如但不限于计算机游戏网络。本文中的系统可以包括可以通过网络连接的服务器和客户端部件,使得可以在客户端和服务器部件之间交换数据。客户端部件可以包括一个或多个计算装置,所述计算装置包括诸如Sony或由微软(Microsoft)或任天堂(Nintendo)或其他制造商制作的游戏控制台等游戏控制台、虚拟现实(VR)头戴式耳机、增强现实(AR)头戴式耳机、便携式电视机(例如智能TV、启用互联网的TV)、便携式计算机(诸如膝上型计算机和平板计算机)以及其他移本文档来自技高网
...

【技术保护点】

【技术特征摘要】
【国外来华专利技术】1.一种用于图形处理的方法,其包括:在图形处理单元(GPU)上执行着色器程序,所述着色器程序执行由加速结构表示的3D环境的光线跟踪;使用所述GPU内在所述着色器程序的请求下遍历所述加速结构的硬件实现的光线跟踪单元(RTU);以及在所述着色器程序处使用加速结构遍历的结果。2.如权利要求1所述的方法,其中由所述RTU进行的所述加速结构遍历相对于所述着色器程序是异步的。3.如权利要求1所述的方法,其中由所述RTU进行的所述加速结构遍历的所述结果包括对光线和包含在所述加速结构内的包围体之间的相交点的检测。4.如权利要求1所述的方法,其中RTU处理包括维护在所述加速结构遍历中使用的栈。5.如权利要求1所述的方法,其中所述加速结构是具有多个层级的层次结构。6.如权利要求5所述的方法,其中由所述RTU进行的所述加速结构遍历的所述结果包括对在所述加速结构的所述多个层级内从较高层级到较低层级的转变的检测。7.如权利要求5所述的方法,其中由所述RTU进行的所述加速结构遍历的所述结果包括对在所述加速结构的所述多个层级内从较低层级到较高层级的转变的检测。8.如权利要求5所述的方法,其中由所述RTU进行的所述加速结构遍历包括对所述加速结构的所述多个层级之间的转变的处置。9.如权利要求1所述的方法,其中由所述RTU进行的所述加速结构遍历的所述结果包括对光线和包含在所述加速结构内的图元之间的相交点的检测。10.如权利要求9所述的方法,其中由所述RTU进行的所述加速结构遍历的所述结果包括对光线和包含在所述加速结构内的图元之间的最早的相交点的检测。11.如权利要求9所述的方法,其中由所述RTU进行的所述加速结构遍历的所述结果包括由所述RTU按照由所述RTU检测到的相交点与光线原点的距离对所述相交点进行的排序,使得:所述RTU在其遍历所述加速结构时检测到光线和图元之间的第一相交点;以及所述RTU在其遍历所述加速结构时检测到所述光线和图元之间的第二相交点;以及在将结果从所述RTU传送到所述着色器程序时,在第一相交点结果之前传送第二相交点结果。12.如权利要求9所述的方法,其中在由所述RTU检测到光线和包含在所述加速结构内的图元之间的相交点并且将所述结果传送到所述着色器程序时,所述着色器程序和所述RTU随后就所述着色器程序在所述光线和所述图元之间进行的命中测试的结果进行通信。13.如权利要求1所述的方法,其中在所述RTU检测到光线和包含在所述加速结构内的包围体之间的相交点并且将所述结果传送到所述着色器程序时,所述着色器程序和所述RTU随后就所述着色器程序关于是否忽略所述相交点的确定和/或所述着色器程序关于所述相交点沿所述光线的位置的确定进行通信...

【专利技术属性】
技术研发人员:M
申请(专利权)人:索尼互动娱乐有限责任公司
类型:发明
国别省市:

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

1