向图形处理系统中的区片分配图元技术方案

技术编号:12852616 阅读:105 留言:0更新日期:2016-02-11 16:50
一种向图形处理系统中的区片分配图元的分片单元,该图形处理系统具有被细分为多个区片的渲染空间。通过将图元的图元ID包括在区片的显示列表中而将该图元分配给该区片。如果图元或图元的网格完全覆盖一个区片而使得该区片中的所有先前图元都被遮挡(即,隐藏),则该显示列表的起始指针能够被移动从而跳过被遮挡的图元。以这种方式,隐藏表面去除(HSR)模块将不会取得将最终被完全覆盖区域的图元或网格所隐藏的图元。该方法因此减少了HSR模块所取得的图元的数量。

【技术实现步骤摘要】
【专利说明】
技术介绍
图形处理系统被用来处理图形数据。例如,在计算系统上运行的应用可能需要对三维(3D)场景的图像进行渲染以便对用户进行显示。该应用能够向图形处理系统发送通常为图元序列形式的图形数据,该图形处理系统能够依据该图元渲染该场景的图像。图1示出了可以被用来渲染3D场景的图像的图形处理系统100的一些部件。图形处理系统100包括图形处理单元(GPU) 102以及两个存储器部分104jP 104 2。注意到,这两个存储器部分川七和104 2可以是或可以不是相同物理存储器的部分,并且存储器104 !和1042可能“脱离芯片”进行定位,即并不处于与GPU 102相同的芯片上。存储器(104 #口1042)与GPU 102之间的通信可以通过系统100中的通信总线来进行。在图1所示的示例中,图形处理系统100是基于区片的延迟渲染系统,这意味着系统100的渲染空间被划分为多个区片并且在图元片段上执行纹理和/或着色以便渲染场景之前在该图元片段上执行隐藏表面去除。然而,在其它示例中,图形处理系统可以是非基于区片的和/或不是延迟渲染系统。GPU 102包括预处理模块106、分片单元108和栅格化模块110,其中栅格化模块110包括隐藏表面去除(HSR)模块112和纹理/着色模块114。图形处理系统100被布置为使得应用所提供的图元序列在预处理模块106处被接收。预处理模块106执行诸如包括剪裁和剔除的几何处理的功能以去除并未落入可见视图中的图元。预处理模块106还可以将图元投射到屏幕空间之中。预处理模块106还可以将所接收到的图元放入图元块中。从预处理模块106输出的图元(例如,在图元块中)被送至分片单元108,分片单元108确定哪些图元存在于图形处理系统100的渲染空间的每个区片内。分片单元108通过针对区片创建显示列表而向渲染空间的区片分配图元,其中针对区片的显示列表包括存在于该区片内的图元的指示(即,图元ID)。显示列表和图元(例如,图元块中)从分片单元108输出并且被存储在存储器10^之中。栅格化模块110从存储器104 i取得针对区片的显示列表以及与该区片有关的图元,并且HSR模块112执行隐藏表面去除以由此去除在场景中隐藏的图元的片段。其余片段被送至纹理/着色模块114,纹理/着色模块114在该片段上执行纹理/着色以确定能够被送至存储器1042以便在帧缓冲器中进行存储的渲染图像的像素颜色值。栅格化模块110对每个区片中的图元进行处理并且当整个图像已经被渲染并且存储在存储器1042中时,图像能够从图形处理系统100被输出并且例如被显示在显示器上。增加存在于区片内的图元的数量通常将增加包括在针对该区片的显示列表中的图元ID的数量。这意味着显示列表中所包括的数据量被增加,由此使用更大数量的存储器101来存储该显示列表并且增加了在分片单元108和存储器104 i之间传送的数据量。此夕卜,该显示列表由HSR模块112从存储器川七进行读取,并且在显示列表中指示的图元由HSR模块112从存储器川七所取得。GPU 102和存储器104:之间的通信是相对缓慢的过程(与GPU 102上执行的过程相比),因此减少GPU 102向存储器10^写入和/或从存储器^七读取的数据量会是有利的。
技术实现思路
提供该
技术实现思路
而以简化形式对下面在【具体实施方式】中进一步进行描述的概念的选择进行介绍。该
技术实现思路
并非意在标识所请求保护主题的关键特征或必要特征,也并非意在被用来限制所请求保护主题的范围。提供了一种向图形处理系统中的区片分配图元的方法,该图形处理系统具有被细分为多个区片的渲染空间,其中每个区片包括一个或多个多边形区域,该方法包括:在针对区片的显示列表中包括存在于该区片的多边形区域内的图元的指示以由此将该图元分配给该区片;接收一个或多个图元的集合;针对区片的一个或多个多边形区域中的每一个多边形区域:⑴确定一个或多个图元的集合是否完全覆盖该区片的多边形区域;以及(ii)如果确定一个或多个图元的集合完全覆盖该区片的多边形区域,则将针对该区片的多边形区域的深度阈值与针对存在于该区片的多边形区域内的集合的至少一个所接收图元的深度值进行比较,以由此确定该一个或多个图元的集合是否完全遮挡被包括在针对该区片的显示列表中的区域中的先前图元;以及如果确定该一个或多个图元的集合完全遮挡该区片的全部一个或多个区域中的显示列表中所包括的先前图元,则设置显示列表起始指针以指示该集合中的图元之一的指示是针对该区片的显示列表中的起始点。该方法可以进一步包括,针对区片的一个或多个多边形分区中的每一个依据出现在该分区内并且其指示包括在该区片的显示列表中的所接收图元的深度数值更新该分区的深度阈值。该一个或多个图元的集合可以包括单个图元。可替换地,该一个或多个图元的集合可以包括形成网格的多个图元。提供了一种分片单元,被配置为向具有被细分为多个区片的渲染空间的图形处理系统中的区片分配图元,其中每个区片包括一个或多个多边形区域,该分片单元被配置为接收一个或多个图元的集合,其中该分片单元包括:网格逻辑,被配置为针对区片的一个或多个多边形区域中的每一个多边形区域,确定一个或多个图元的集合是否完全覆盖该区片的多边形区域;以及分片逻辑,被配置为:在针对区片的显示列表中包括存在于该区片的多边形区域内的图元的指示,以由此将该图元分配给该区片;针对区片的一个或多个多边形区域中的每一个多边形区域,如果确定一个或多个图元的集合完全覆盖该区片的多边形区域,则将针对该区片的多边形区域的深度阈值与存在于该区片的多边形区域内的集合中的至少一个所接收图元的深度值进行比较,以由此确定该一个或多个图元的集合是否完全遮挡被包括在该区片的显示列表中的区域中的先前图元;以及如果确定该一个或多个图元的集合完全遮挡该区片的全部一个或多个区域中的显示列表中所包括的先前图元,则设置显示列表起始指针以指示该集合中的图元之一的指示是针对该区片的显示列表中的起始点。该分片单元可以进一步包括:深度阈值更新逻辑,被配置为针对区片的一个或多个多边形区域中的每一个多边形区域,依据存在于该区域内并且针对其指示被包括在针对该区片的显示列表中的所接收图元的深度值来更新针对该区域的深度阈值。。还提供了一种计算机可读代码,当该代码在计算机上运行时其适于执行本文所描述的示例的任意方法的步骤。此外,可以提供一种用于生成根据本文所描述的示例的任意示例的分片单元的计算机可读代码。该计算机可读代码可以被编码在计算机可读存储介质上。如对本领域技术人员而言显而易见的,以上特征可以被适当组合并且可以与本文所描述示例的任意方面进行组合。【附图说明】现在将参考附图对实施例进行详细描述,其中:图1是图形处理系统的示意图;图2是图形处理系统的示意图,其示出了该图形处理系统内的分片单元的组件;图3a示出了存在于区片的一个区域内的第一图元的示例;图3b图示了第一示例中的第一图元的深度;图3c图示了第二示例中的第一图元的深度;图3d图示了第三示例中的第一图元的深度;图4a示出了完全覆盖一个区域的第二图元的示例;图4b图示了一个示例中的第二图元的深度;图4c示出了深度阈值如何由于第二图元而被更新的示例;图5示出了完全覆盖一个区域的图元的第一网格的本文档来自技高网
...

【技术保护点】
一种向图形处理系统中的区片分配图元的方法,所述图形处理系统具有被细分为多个区片的渲染空间,其中每个区片包括一个或多个多边形区域,所述方法包括:在针对区片的显示列表中包括存在于所述区片的多边形区域内的图元的指示以由此将所述图元分配给所述区片;接收一个或多个图元的集合;针对区片的所述一个或多个多边形区域中的每一个多边形区域:(i)确定一个或多个图元的所述集合是否完全覆盖所述区片的所述多边形区域;以及(ii)如果确定所述一个或多个图元的所述集合完全覆盖所述区片的所述多边形区域,则将针对所述区片的所述多边形区域的深度阈值与针对存在于所述区片的所述多边形区域内的所述集合的至少一个所接收图元的深度值进行比较,以由此确定一个或多个图元的所述集合是否完全遮挡被包括在针对所述区片的所述显示列表中的所述区域中的先前图元;以及如果确定一个或多个图元的所述集合完全遮挡所述区片的全部所述一个或多个区域中的所述显示列表中所包括的先前图元,则设置显示列表起始指针以指示所述集合中的所述图元之一的指示是针对所述区片的所述显示列表中的起始点。

【技术特征摘要】
...

【专利技术属性】
技术研发人员:X·杨
申请(专利权)人:想象技术有限公司
类型:发明
国别省市:英国;GB

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

1