当前位置: 首页 > 专利查询>ARM有限公司专利>正文

图形处理系统技术方案

技术编号:36599306 阅读:17 留言:0更新日期:2023-02-04 18:11
本文公开了一种在使用光线追踪过程渲染表示场景视图的帧时操作图形处理器的方法,其中用于光线追踪操作的处理的一部分被卸载到该图形处理器的纹理映射器单元。因此,当该图形处理器的执行单元正在执行程序以执行光线追踪操作时,该执行单元能够向该纹理映射器单元发送消息以执行用于该光线追踪操作的一个或多个处理操作。此操作可以通过在光线追踪程序内包括用于向该纹理映射器单元发送消息的适当指令来触发。适当指令来触发。适当指令来触发。

【技术实现步骤摘要】
图形处理系统

技术介绍

[0001]本文所述的技术涉及图形处理系统,并且具体地讲,涉及帧(图像)的渲染以用于显示。
[0002]图1示出了示例性片上系统(SoC)图形处理系统8,其包括中央处理单元(CPU)1、图形处理器(GPU)2、显示处理器3和存储器控制器5形式的主机处理器。
[0003]如图1所示,这些单元经由互连器4进行通信并且具有对片外存储器6的访问权限。在该系统中,图形处理器2将渲染待显示的帧(图像),然后显示处理器3将这些帧提供给显示面板7以用于显示。
[0004]在该系统的使用中,在主机处理器(CPU)1上执行的应用13诸如游戏将例如需要在显示面板7上显示帧。为此,该应用将为在CPU 1上执行的图形处理器2向驱动器11提交适当的命令和数据。驱动器11然后将生成适当的命令和数据,以使图形处理器2渲染适当的帧以用于显示并将那些帧存储在适当的帧缓冲器中,例如存储在主存储器6中。然后,显示处理器3将这些帧读取到用于显示的缓冲器中,然后从该缓冲器中读取这些帧并将其显示在显示器的显示面板7上。
[0005]可由图形处理器执行的一个渲染过程是所谓的“光线追踪”。光线追踪是一种渲染过程,其涉及从视点(有时称为“相机”)通过图像平面中的采样位置将光线的路径追踪到场景中,以及模拟这些光线与该场景中的对象之间的交互效果。输出数据值(例如,图像中的采样点)基于场景中与穿过采样位置的光线相交的对象以及那些对象的表面的特性来确定。光线追踪计算是复杂的,并且涉及针对每个采样位置确定在场景内与穿过采样位置的光线相交的一组对象。
[0006]与例如基于光栅化的渲染技术相比,光线追踪被认为提供了更好的(例如更真实的)、物理上更准确的图像,尤其是在捕获反射、折射、阴影和照明效果的能力方面。然而,光线追踪可显著地比光栅化更处理密集。
[0007]申请人相信,仍然存在用于使用图形处理器执行光线追踪的改进技术的范围。
附图说明
[0008]现在将仅以举例的方式并参考附图来描述本文所述技术的实施方案,其中:
[0009]图1示出了示例性图形处理系统;
[0010]图2是示出“全”光线追踪过程的示意图;
[0011]图3示出了示例性光线追踪加速数据结构;
[0012]图4是示出全光线追踪过程的实施方案的流程图;
[0013]图5是示出“混合”光线追踪过程的示意图;
[0014]图6示意性地示出了能够以本文所述技术的方式操作的图形处理器的实施方案;
[0015]图7示出了图形处理器的纹理映射器单元的进一步细节;
[0016]图8示意性地示出了根据本文所述技术的一个实施方案的纹理映射器单元中的数据流;
[0017]图9示意性地示出了根据本文所述技术的另一个实施方案的纹理映射器单元中的数据流;
[0018]图10为示出本文所述技术的实施方案的流程图;并且
[0019]图11示出了着色器程序编译过程的实施方案。
[0020]在适当的情况下,类似的附图标号用于附图中的类似元件。
具体实施方式
[0021]本文所述技术的第一实施方案包括一种在使用光线追踪过程渲染表示场景视图的帧时操作图形处理器的方法,
[0022]该图形处理器包括:
[0023]可编程执行单元,该可编程执行单元可操作为执行程序以执行图形处理操作;以及
[0024]纹理映射器单元,该纹理映射器单元可操作为响应于来自可编程执行单元的对图形纹理化操作的请求而执行图形纹理化操作;
[0025]该方法包括:
[0026]当可编程执行单元正在执行程序以执行光线追踪操作时,该光线追踪操作使用指示待渲染场景的几何形状分布的光线追踪加速数据结构来确定能够与用于光线追踪操作的光线相交的待渲染场景的几何形状:
[0027]作为使用光线追踪加速数据的光线追踪操作的一部分,可编程执行单元向纹理映射器单元发送消息以使纹理映射器单元执行针对光线追踪操作的一个或多个处理操作,其中该一个或多个处理操作的结果被返回到可编程执行单元。
[0028]本文所述技术的第二实施方案包括一种图形处理器,该图形处理器可操作为使用光线追踪过程来渲染表示场景视图的帧,该图形处理器包括:
[0029]可编程执行单元,该可编程执行单元可操作为执行图形处理程序以执行图形处理操作;以及
[0030]纹理映射器单元,该纹理映射器单元可操作为响应于来自可编程执行单元的对图形纹理化操作的请求而执行图形纹理化操作;
[0031]其中:
[0032]当可编程执行单元正在执行程序以执行光线追踪操作时,该光线
[0033]追踪操作使用指示待渲染场景的几何形状分布的光线追踪加速数据结
[0034]构来确定能够与正被用于光线追踪操作的光线相交的待渲染场景的几
[0035]何形状,可编程执行单元可操作并且被配置为:作为使用光线追踪加
[0036]速数据结构的光线追踪操作的一部分,向纹理映射器单元发送消息以
[0037]使纹理映射器单元执行针对光线追踪操作的一个或多个处理操作,其
[0038]中该一个或多个处理操作的结果被返回到可编程执行单元。
[0039]本文所述的技术涉及在图形处理器上执行光线追踪。在本文所述的技术中,如下文将进一步解释的,光线追踪过程使用表示待渲染场景的几何形状的加速数据结构(诸如层次包围盒)来确定光线与正被渲染场景中的几何形状(例如,对象)的相交。因此,在一个实施方案中,光线追踪过程涉及遍历光线追踪加速数据结构以确定:针对正被用于光线追
踪操作的光线,加速数据结构的哪些节点表示可能与该光线相交的几何形状(如果有的话)。
[0040]此遍历操作基本上涉及遍历光线追踪加速数据结构以及测试光线与跟光线追踪加速数据结构的相应节点相关联的盒相交(光线

盒测试),以确定哪些节点盒与哪些光线相交,例如,以确定因此接下来针对该光线应当测试哪些节点,以此类推,直到例如光线追踪加速数据结构的在最低级别处的末端节点。因此,此操作的结果是识别哪些末端节点(末端节点盒)包含可能与光线相交的几何形状。对于确定其表示能够与光线相交的几何形状的任何末端节点,然后确定由末端节点表示的哪个几何形状(如果有的话)实际上相交。
[0041]因此,一旦已经确定了哪些末端节点(如果有的话)表示能够与光线相交的几何形状(通过针对光线追踪加速数据结构的相应节点执行此类光线

盒相交测试),就可相应地确定该光线与占据与相交末端节点相关联的盒的几何形状的实际几何形状相交,例如通过测试光线与针对占据与末端节点相关联的盒的场景定义的各个几何形状单元(基元)相交。
[0042]此光线

基元测试可以作为与光线

盒测试相同的总体遍历操作的一部分来执行,使得遍历操作包括:用于确定哪些末端节点表示可能与光线相交的几何形状的光线追踪加速数据结构的初始本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种在使用光线追踪过程渲染表示场景视图的帧时操作图形处理器的方法,所述图形处理器包括:可编程执行单元,所述可编程执行单元可操作为执行程序以执行图形处理操作;以及纹理映射器单元,所述纹理映射器单元可操作为响应于来自所述可编程执行单元的对图形纹理化操作的请求而执行图形纹理化操作;所述方法包括:当所述可编程执行单元正在执行程序以执行光线追踪操作时,所述光线追踪操作使用指示待渲染场景的几何形状分布的光线追踪加速数据结构来确定能够与用于所述光线追踪操作的光线相交的待渲染场景的几何形状:作为使用所述光线追踪加速数据结构的所述光线追踪操作的一部分,所述可编程执行单元向所述纹理映射器单元发送消息以使所述纹理映射器单元执行针对所述光线追踪操作的一个或多个处理操作,其中针对所述光线追踪操作的所述一个或多个处理操作的结果被返回到所述可编程执行单元。2.根据权利要求1所述的方法,其中所述光线追踪加速数据结构包括多个节点,每个节点与所述场景内的相应一个或多个盒相关联,所述光线追踪加速数据结构包括一组末端节点,所述一组末端节点表示针对占据与所述末端节点相对应的盒的场景定义的相应基元子集,并且其中针对光线的所述光线追踪操作包括遍历操作,所述遍历操作包括测试用于与跟所述光线追踪加速数据结构的所述节点相关联的相应盒相交的光线,并且其中所述方法包括:响应于所述遍历操作需要针对与所述光线追踪加速数据结构的给定节点相交来对光线进行测试,所述可编程执行单元向所述纹理映射器单元发送消息以使所述纹理映射器单元加载针对所讨论的节点的相交测试所需的数据。3.根据权利要求2所述的方法,其中所述节点数据经由所述纹理映射器单元的高速缓存系统被加载到所述纹理映射器单元。4.根据权利要求2或3所述的方法,其中针对所述相交测试的加载数据被返回到所述可编程执行单元,所述方法包括所述可编程执行单元随后执行一个或多个程序以执行所述相交测试。5.根据权利要求2或3所述的方法,其中所述纹理映射器单元被进一步配置为执行所述相交测试,并将针对所述节点的所述相交测试的结果返回到所述可编程执行单元以用于所述遍历操作。6.根据任一前述权利要求所述的方法,其中所述可编程执行单元被配置为向所述纹理映射器单元发送消息以执行所述一个或多个处理操作,所述消息指示以下各项中的一者或多者:待使用的光线追踪加速数据结构的描述符;待测试的所述光线的原点;所述光线的方向;所述光线待遍历的范围;以及涉及待执行所述处理操作的节点。7.根据任一前述权利要求所述的方法,其中所述光线追踪过程进一步包括:在使用所述光线追踪加速数据结构来确定所述光线追踪加速数据结构的哪些节点表示能够与光线相交的几何形状之后,对于确定包含能够与光线相交的几何形状的任何节点,所述可编程执行单元执行程序以确定所述节点表示的任何几何形状是否与所述光线相交,并且对于与所述光线相交的任何几何形状,执行进一步处理操作以确定所述光线被投射的采样位置的外观。
8.根据权利要求7所述的方法,其中用于确定所述光线被投射的采样位置的外观的所述进一步处理操作包括使用所述纹理映射器单元执行的一个或多个纹理化操作。9.一种编译待由图形处理器的可编程执行单元执行的着色器程序的方法,所述可编程执行单元可操作为执行图形处理程序以执行图形处理操作;所述方法包括:在使用光线追踪过程渲染表示场景视图的帧时待由图形处理器的可编程执行单元执行的着色器程序中包括一组一个或多个指令,所述一个或多个指令在由所述可编程执行单元执行时将使所述可编程执行单元执行光线追踪操作,所述光线追踪操作使用指示待渲染场景的几何形状分布的光线追踪加速数据结构来确定能够与用于所述光线追踪操作的光线相交的待渲染场景的几何形状,所述光线追踪操作使用所述光线追踪加速数据结构;以及在所述着色器程序中进一步包括指令,所述指令在由所述可编程执行单元执行时将使所述可编程执行单元向所述图形处理器的纹理映射单元发送消息,以使所述纹理映射器单元执行针对所述光线追踪操作的一个或多个处理操作,其中所述一个或多个处理操作的结果被返回到所述可编程执行单元。10.一种在使用光线追踪过程渲染表示场景视图的帧时操作图形处理器的方法,所述图形处理器包括:可编程执行单元,所述可编程执行单元可操作为执行程序以执行图形处理操作;所述方法包括:所述可编程执行单元:执行着色器程序以使用光线追踪过程来渲染表示包括一个或多个对象的场景视图的帧,所述着色器程序包括一组一个或多个指令,以使所述可编程执行单元执行光线追踪操作,所述光线追踪操作使用指示待渲染场景的几何形状分布的光线追踪加速数据结构来确定能够与用于所述光线追踪操作的光线相交的待渲染场景的几何形状,所述光线追踪操作使用所述光线追踪加速数据结构;以及响应于所述可编程执行单元执行所述着色器程序中的指令以向所述图形处理器的纹理映射单元发送消息以使所述纹理映射器单元执行用于所述光线追踪操作的一个或多个处理操作,所述可编程执行单元向所述纹理映射器单元发送消息以执行所述一个或多个处理操作。11.一种图形处理器,所述图形处理器可操作为使用光线追踪过程来渲染表示场景视图的帧,所述图形处理器包括:可编程执行单元,所述可编程执行单元可操作为执行...

【专利技术属性】
技术研发人员:E
申请(专利权)人:Arm有限公司
类型:发明
国别省市:

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

1