图形处理方法和系统技术方案

技术编号:29677701 阅读:11 留言:0更新日期:2021-08-13 22:00
本发明专利技术涉及图形处理方法和系统。本发明专利技术提供了使用被细分成多个区域的渲染空间来渲染图元的方法和图形处理系统。几何形状处理逻辑被配置成执行几何形状处理阶段,几何形状处理阶段包括:对于存在于区域中的多个图元中的每一个图元,确定图元是否完全覆盖区域;存储存在于区域中的图元的数据,其中对于确定为完全覆盖区域的每一个图元,所存储的数据包括用于指示区域的总覆盖范围的数据。渲染逻辑被配置成执行渲染阶段以渲染区域内的图元。渲染阶段包括:检索存在于区域中的图元的存储数据;以及基于所检索的数据选择性地处理存在于区域中的图元,以确定图元覆盖区域内的哪些采样点;基于覆盖相应采样点的图元来确定区域内的采样点处的渲染值。

【技术实现步骤摘要】
图形处理方法和系统
本公开涉及图形处理系统和使用图形处理系统进行渲染的方法。
技术介绍
图形处理系统通常配置成例如从在计算机系统上运行的应用程序接收图形数据,并渲染图形数据以提供渲染输出。例如,提供到图形处理系统的图形数据可描述要渲染的三维(3D)场景内的几何形状,并且渲染输出可以是场景的被渲染图像。一些图形处理系统(其可称作“基于图块的”图形处理系统)使用细分成多个图块的渲染空间。“图块”是渲染空间的区域,并且可具有任何合适的形状,但通常是矩形的(其中,术语“矩形”包含方形)。如所属领域中已知,将渲染空间细分成图块具有许多益处。例如,将渲染空间细分成图块允许以图块为单位来渲染图像,其中可以在图块的渲染期间将“图块”的图形数据临时存储在“芯片上”,从而减少在系统存储器和实现图形处理系统的图形处理单元(GPU)的芯片之间传输的数据量。基于图块的图形处理系统通常有两个操作阶段:几何形状处理阶段和渲染阶段。在几何形状处理阶段,分析用于渲染的图形数据,以针对每个图块确定哪些图形数据项存在于该图块内。然后在渲染阶段(例如,光栅化阶段),可通过处理确定为存在于特定图块内的那些图形数据项来渲染该图块(而无需处理在几何形状处理阶段确定为不存在于特定图块内的图形数据项)。图1示出了基于图块的图形处理系统100的示例。系统100包括存储器102、几何形状处理逻辑104,以及渲染逻辑106。如所属领域中已知,几何形状处理逻辑104和渲染逻辑106可以在GPU上实现并且可以共享一些处理资源。几何形状处理逻辑104包括几何形状获取单元108、几何形状变换逻辑110、剔除/裁剪单元112、图元块组装逻辑113,以及平铺单元114。渲染逻辑106包括参数获取单元116、隐藏表面消除(HSR)单元118,以及纹理化/着色单元120。存储器102可被实现为一个或多个物理存储器块,并且包括图形存储器122、变换后的参数存储器124、控制列表存储器126,以及帧缓冲器128。图2示出了用于操作基于图块的渲染系统诸如图1所示的系统的方法的流程图。几何形状处理逻辑104执行几何形状处理阶段,其中几何形状获取单元108从图形存储器122获取几何形状数据(在步骤S202中),并且将所获取的数据传递至变换逻辑110。几何形状数据包括描述待渲染的几何形状的图形数据项(即,几何形状项目)。例如,几何形状项目可表示描述场景中的结构表面的几何形状。几何形状项目通常是“图元”。常见的图元形状为三角形,但图元可以是其他2D形状,也可以是线或点。可通过图元的顶点对其进行定义,并且可以提供描述顶点的顶点数据,其中顶点的组合描述图元(例如,三角形图元由三个顶点的顶点数据来定义)。对象可以由一个或多个此类图元组成。在一些示例中,对象可以由数千个、甚至数百万个此类图元组成。场景通常包含许多对象。几何形状项目也可以是网格(由多个图元组成,诸如包括共享一个边缘的两个三角形图元的四边形)。几何形状项目也可以是面片,其中面片(patch)由控制点描述,并且其中面片被细分以生成多个细分的图元。在步骤S204中,几何形状处理逻辑104例如通过将几何形状项目变换到屏幕空间、执行顶点着色、执行几何形状着色以及/或者执行细分来对几何形状项目进行预处理,这适用于相应的几何形状项目。例如,变换逻辑110可以将几何形状项目变换到渲染空间,并且可以应用在本领域中已知的照明/属性处理。所得数据被传递至剔除/裁剪单元112,该剔除/裁剪单元剔除和/或裁剪落在视锥体之外的任何几何形状。其余的变换后的几何形状项目(例如,图元)被提供给图元块组装逻辑113,该图元块组装逻辑将几何形状项目分组为块(可以被称为“图元块”)以用于存储。例如,每个块可包括多达N个图元和多达M个顶点,其中N和M的值是一种实现设计选择。每个块都可以与块ID相关联,使得可以轻松标识和引用这些块。图元通常与其他图元共享顶点,因此将图元的顶点存储在块中允许顶点数据在块中存储一次,其中图元块中的多个图元可以引用块中相同的顶点数据。在步骤S206中,具有变换后的几何数据项的图元块被提供给存储器102以被存储在变换后的参数存储器124中。变换后的几何形状项目和有关如何将其打包到图元块中的信息也被提供给平铺单元114。在步骤S208中,平铺单元114为渲染空间的每个图块生成控制流数据,其中图块的控制流数据包括将用于渲染图块的变换后的图元的标识符的控制列表,即,至少部分地位于图块内的变换后的图元的标识符的列表。图块的控制流数据可以被称为图块的“显示列表”、“控制列表”或“对象列表”。在步骤S210中,图块的控制流数据被提供给存储器102以被存储在控制列表存储器126中。因此,在几何形状处理阶段之后(即,在步骤S210之后),将待渲染的变换后的图元存储在变换后的参数存储器124中,并且将指示每个图块中存在哪些变换后的图元的控制流数据存储在控制列表存储器126中。在渲染阶段中,渲染逻辑106以图块为单位来渲染几何形状项目(图元)。在步骤S212中,参数获取单元116接收图块的控制流数据(即,控制列表),并且在步骤S214中,参数获取单元116从变换后的参数存储器124获取所指示的变换后的图元,如图块的控制流数据所示。在步骤S216中,渲染逻辑106通过对图元执行采样来确定表示图块内的离散采样点处的图元的图元片段,然后对图元片段执行隐藏表面消除和纹理化/着色来渲染所获取的图元。特别地,所获取的变换后的图元被提供给隐藏表面消除(HSR)单元118,该HSR单元执行采样来确定图元片段,并且消除隐藏的(例如,被其他图元片段隐藏的)图元片段。执行采样和隐藏表面消除的方法在本领域中是已知的。术语“片段”是指采样点处的图元的样本,该样本将被处理以对图像的像素进行渲染。本文中使用术语“采样”来描述确定表示离散采样点处的几何形状项目(例如,图元)的片段的过程,但是该过程有时可被称为“光栅化”或“扫描转换”。在一些示例中,可以存在片段到像素的一对一映射。然而,在其他示例中,片段可以多于像素,并且此过采样可以允许像素值的较高质量渲染,例如通过促进可以应用于多个片段以用于对每个像素值进行渲染的抗混叠和其他滤波。未被HSR单元118消除的图元被提供给纹理化/着色单元120,该纹理化/着色单元将纹理化和/或着色应用于图元片段。尽管在图1中未示出,但是纹理化/着色单元120可以接收来自存储器102的纹理数据以便将纹理化应用于图元片段,如在本领域中已知的。如所属领域中已知,纹理化/着色单元120可以对图元片段应用进一步的处理(例如,α混合和其他处理),以便确定图像的渲染像素值。对图块中的每一个图块执行渲染阶段,使得可以用确定整个图像的像素值来渲染整个图像。在步骤S218中,所渲染的像素值被提供给存储器102以被存储在帧缓冲器128中。然后可以任何合适的方式使用渲染的图像,例如显示在显示屏上或存储在存储器中或传输至另一个设备,等等。图块控制列表允许渲染逻辑106标识并且获取用于渲染特定图块的相关图元(即,仅至少部分覆盖图块的那些图元)。然而,覆盖大部分渲染空间的大图元可出现在大量图本文档来自技高网...

【技术保护点】
1.一种在图形处理系统中渲染图元的方法,所述图形处理系统被配置成使用被细分成多个区域的渲染空间,所述方法包括:/n几何形状处理阶段,所述几何形状处理阶段包括:/n针对存在于区域中的多个图元中的每一个图元,确定所述图元是否完全覆盖所述区域;以及/n存储存在于所述区域中的所述图元的数据,其中对于被确定为完全覆盖所述区域的每个图元,所存储的数据包括用于指示所述区域的总覆盖范围的数据;以及/n用于渲染所述区域内的所述图元的渲染阶段,包括:/n检索存在于所述区域中的所述图元的所存储的数据;/n基于所检索的数据来选择性地处理存在于所述区域中的所述图元以确定所述图元覆盖所述区域内的哪些采样点,其中如果所检索的数据包括指示特定图元的所述区域的总覆盖范围的数据,则跳过确定所述区域内的哪些采样点被所述特定图元覆盖的所述处理;/n基于覆盖相应采样点的所述图元来确定所述区域内的所述采样点处的渲染值。/n

【技术特征摘要】
20200207 GB 2001717.41.一种在图形处理系统中渲染图元的方法,所述图形处理系统被配置成使用被细分成多个区域的渲染空间,所述方法包括:
几何形状处理阶段,所述几何形状处理阶段包括:
针对存在于区域中的多个图元中的每一个图元,确定所述图元是否完全覆盖所述区域;以及
存储存在于所述区域中的所述图元的数据,其中对于被确定为完全覆盖所述区域的每个图元,所存储的数据包括用于指示所述区域的总覆盖范围的数据;以及
用于渲染所述区域内的所述图元的渲染阶段,包括:
检索存在于所述区域中的所述图元的所存储的数据;
基于所检索的数据来选择性地处理存在于所述区域中的所述图元以确定所述图元覆盖所述区域内的哪些采样点,其中如果所检索的数据包括指示特定图元的所述区域的总覆盖范围的数据,则跳过确定所述区域内的哪些采样点被所述特定图元覆盖的所述处理;
基于覆盖相应采样点的所述图元来确定所述区域内的所述采样点处的渲染值。


2.如权利要求1所述的方法,
其中所述几何形状处理阶段还包括:
接收一组图元;以及
确定所述一组图元中的哪些图元存在于所述区域中,从而确定所述区域中存在的所述多个图元;
其中所述存储存在于所述区域中的所述图元的数据包括:存储所述区域的图元指示数据,以指示存在于所述区域中的所确定的多个图元;并且
其中所述渲染阶段还包括:
基于所述区域的所述图元指示数据,检索存在于所述区域中的所述图元的所述图元数据,
其中所述确定渲染值包括使用所检索的图元数据。


3.如权利要求2所述的方法,其中所述区域的所述图元指示数据被存储在所述区域的控制列表中,并且其中用于指示所述图元是否完全覆盖所述区域的所述图元的数据被存储在所述区域的所述控制列表中。


4.如前述权利要求中任一项所述的方法,其中所述确定图元是否全部覆盖区域包括确定所述图元是否覆盖所述区域中的每一个采样点。


5.如权利要求1至3中任一项所述的方法,其中所述确定图元是否完全覆盖区域包括确定所述图元是否覆盖所述区域的整个面积。


6.如前述权利要求中任一项所述的方法,其中所述确定图元是否完全覆盖区域包括:
确定所述图元的轴线对齐边界框,其中所述图元是三角形;
确定所述边界框在水平方向和竖直方向上的大小;
比较所述边界框在水平方向(BBx)上的大小和所述区域在水平方向(Rx)上的大小,并且比较所述边界框在竖直方向(BBy)上的大小和所述区域在竖直方向(Ry)上的大小,其中所述区域是矩形,
其中如果满足以下任一条件,则确定为所述图元不完全覆盖所述区域:
(i)BBx<Rx,
(ii)BBy<Ry,或者
(iii)(BBx<2Rx)和(BBy<2Ry)。


7.如前述权利要求中任一项所述的方法,其中所述确定图元是否完全覆盖区域包括:
针对所述图元的每个边缘:
确定所述区域的哪些拐角最有可能在所述边缘之外;以及
确定所确定的拐角是否在所述边缘内部。


8.如前述权利要求中任一项所述的方法,其中所述区域是所述渲染空间的图块。


9.如权利要求1至7中任一项所述的方法,其中所述区域是所述渲染空间的一组图块。


10.如前述权利要求中任一项所述的方法,其中用于指示图元的所述区域的总覆盖范围的所述数据包括用于指示所述区域的总覆盖范围的标记。


11.如前述权利要求中任一项所述的方法,其中所述渲染值表示:
从视点查看的场景图像;或者
待应用于场景中的表面的...

【专利技术属性】
技术研发人员:杨喜乐罗伯特·布里格
申请(专利权)人:畅想科技有限公司
类型:发明
国别省市:英国;GB

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

1