【技术实现步骤摘要】
图形处理系统
技术介绍
[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]可由图形处理器执行的一个渲染过程是所谓的“光线追踪”。光线追踪是一种渲染过程,其涉及从视点(有时称为“相机”)通过图像平面中的采样位置将光线的路径追踪到场景中,以及模拟这些光线与该场景中的对象之间的交互效果。输出数据值(例如,图像中的采样点)基于场景中与穿过采样位置的光线相交的对象以及那些对象的表面的特性来确定。光线追踪计算是复杂的,并且涉及针对每个采样位置确定在场景内与穿过采样位置的光线相交的一组对象。 ...
【技术保护点】
【技术特征摘要】
1.一种在使用光线追踪过程渲染表示场景视图的帧时操作图形处理器的方法,所述图形处理器包括:可编程执行单元,所述可编程执行单元可操作为执行程序以执行图形处理操作;以及纹理映射器单元,所述纹理映射器单元可操作为响应于来自所述可编程执行单元的对图形纹理化操作的请求而执行图形纹理化操作;所述方法包括:当所述可编程执行单元正在执行程序以执行光线追踪操作时,所述光线追踪操作使用指示待渲染场景的几何形状分布的光线追踪加速数据结构来确定能够与用于所述光线追踪操作的光线相交的待渲染场景的几何形状:作为使用所述光线追踪加速数据结构的所述光线追踪操作的一部分,所述可编程执行单元向所述纹理映射器单元发送消息以使所述纹理映射器单元执行针对所述光线追踪操作的一个或多个处理操作,其中针对所述光线追踪操作的所述一个或多个处理操作的结果被返回到所述可编程执行单元。2.根据权利要求1所述的方法,其中所述光线追踪加速数据结构包括多个节点,每个节点与所述场景内的相应一个或多个盒相关联,所述光线追踪加速数据结构包括一组末端节点,所述一组末端节点表示针对占据与所述末端节点相对应的盒的场景定义的相应基元子集,并且其中针对光线的所述光线追踪操作包括遍历操作,所述遍历操作包括测试用于与跟所述光线追踪加速数据结构的所述节点相关联的相应盒相交的光线,并且其中所述方法包括:响应于所述遍历操作需要针对与所述光线追踪加速数据结构的给定节点相交来对光线进行测试,所述可编程执行单元向所述纹理映射器单元发送消息以使所述纹理映射器单元加载针对所讨论的节点的相交测试所需的数据。3.根据权利要求2所述的方法,其中所述节点数据经由所述纹理映射器单元的高速缓存系统被加载到所述纹理映射器单元。4.根据权利要求2或3所述的方法,其中针对所述相交测试的加载数据被返回到所述可编程执行单元,所述方法包括所述可编程执行单元随后执行一个或多个程序以执行所述相交测试。5.根据权利要求2或3所述的方法,其中所述纹理映射器单元被进一步配置为执行所述相交测试,并将针对所述节点的所述相交测试的结果返回到所述可编程执行单元以用于所述遍历操作。6.根据任一前述权利要求所述的方法,其中所述可编程执行单元被配置为向所述纹理映射器单元发送消息以执行所述一个或多个处理操作,所述消息指示以下各项中的一者或多者:待使用的光线追踪加速数据结构的描述符;待测试的所述光线的原点;所述光线的方向;所述光线待遍历的范围;以及涉及待执行所述处理操作的节点。7.根据任一前述权利要求所述的方法,其中所述光线追踪过程进一步包括:在使用所述光线追踪加速数据结构来确定所述光线追踪加速数据结构的哪些节点表示能够与光线相交的几何形状之后,对于确定包含能够与光线相交的几何形状的任何节点,所述可编程执行单元执行程序以确定所述节点表示的任何几何形状是否与所述光线相交,并且对于与所述光线相交的任何几何形状,执行进一步处理操作以确定所述光线被投射的采样位置的外观。
8.根据权利要求7所述的方法,其中用于确定所述光线被投射的采样位置的外观的所述进一步处理操作包括使用所述纹理映射器单元执行的一个或多个纹理化操作。9.一种编译待由图形处理器的可编程执行单元执行的着色器程序的方法,所述可编程执行单元可操作为执行图形处理程序以执行图形处理操作;所述方法包括:在使用光线追踪过程渲染表示场景视图的帧时待由图形处理器的可编程执行单元执行的着色器程序中包括一组一个或多个指令,所述一个或多个指令在由所述可编程执行单元执行时将使所述可编程执行单元执行光线追踪操作,所述光线追踪操作使用指示待渲染场景的几何形状分布的光线追踪加速数据结构来确定能够与用于所述光线追踪操作的光线相交的待渲染场景的几何形状,所述光线追踪操作使用所述光线追踪加速数据结构;以及在所述着色器程序中进一步包括指令,所述指令在由所述可编程执行单元执行时将使所述可编程执行单元向所述图形处理器的纹理映射单元发送消息,以使所述纹理映射器单元执行针对所述光线追踪操作的一个或多个处理操作,其中所述一个或多个处理操作的结果被返回到所述可编程执行单元。10.一种在使用光线追踪过程渲染表示场景视图的帧时操作图形处理器的方法,所述图形处理器包括:可编程执行单元,所述可编程执行单元可操作为执行程序以执行图形处理操作;所述方法包括:所述可编程执行单元:执行着色器程序以使用光线追踪过程来渲染表示包括一个或多个对象的场景视图的帧,所述着色器程序包括一组一个或多个指令,以使所述可编程执行单元执行光线追踪操作,所述光线追踪操作使用指示待渲染场景的几何形状分布的光线追踪加速数据结构来确定能够与用于所述光线追踪操作的光线相交的待渲染场景的几何形状,所述光线追踪操作使用所述光线追踪加速数据结构;以及响应于所述可编程执行单元执行所述着色器程序中的指令以向所述图形处理器的纹理映射单元发送消息以使所述纹理映射器单元执行用于所述光线追踪操作的一个或多个处理操作,所述可编程执行单元向所述纹理映射器单元发送消息以执行所述一个或多个处理操作。11.一种图形处理器,所述图形处理器可操作为使用光线追踪过程来渲染表示场景视图的帧,所述图形处理器包括:可编程执行单元,所述可编程执行单元可操作为执行...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。