专利名称:用于处理图形的设备及其方法
用于处理图形的设备及其方法
技术领域:
本发明涉及一种用于处理图形的设备及其方法,并且具体来讲涉及在基于 平铺显示的图形处理系统中使用的这种设备和方法。
本发明将特别地参照三维图形的处理进行描述,尽管正如本领域技术人员 可以理解的,本发明也同样地适用于二维图形。
正如在本领域中已知的那样,执行图形处理通常首先将待显示的场景分解 到很多类似的基本元素或者"图元'中,然后图元经过所期望的图形处理操作。 图形'图元,通常是简单多边形的形式,诸如三角形,并且通常通过定义它们的 顶点来描述。
对于图形处理操作,正如在本领域中已知的那样,每个图形图元通常进一 步被划分到分散的图形实体或元素中,通常称为"分段",在其上执行实际的图
形处理操作(诸如绘制(render)操作)。每个这种图形分段将表示并且相应于图 元中的特定位置,并且实际上包括所述位置的一组数据(诸如颜色和深度衝。
每个图形分段(数据元)通常相应于最终显示中的单象素(像元)(因为当在待 显示的最终图像中像素是奇异点时,通常在图形处理器操作的"分段"和显示中 的像素之间存在一对一的映射)。然而,这种情况是祀'分段"和"像蒙'之间没有 直接的对应性,例如后期处理的特殊方式诸如缩小比例是在显示最终图像之前 在被绘制的图像上执行的。
因此典型地执行的图形处理的两个方面是'栅格化,图形'图元'(多边形)位 置数据为图形分段位置数据(即确定图形分段的(x,y)位置以用于表示待显示的场
景中的每个图元),然后《飾ir'栅格化的"分與即颜色,明暗等等分段)以显示在
显不器屏幕上。
(在图形学文献中,术语"栅格化"往往用于表示图元变换为分段和纟飾ij。然 而,这里"栅格化'只用于表示将图元繊转换为分段地址。)
许多图形处理系统使用所谓的"基于平铺显示的"绘制。在基于平铺显示的 绘制中,待显示的二维场景被次划分或者划分为多个更小的子区域,通常称为 " 显示"。 显示(子区域)是齡独立纟魏啲(通常一个接着一个)。绘制的)然后被再结合以提供用于显示的完整帧。在这种配置中,场景 典型地被分为形状和大小均匀的子区織平铺显示)(通常它们是例如正方形或者 矩形),但这不是必要的。
一般用于"平铺显示的"称'基于平铺显示的"绘制的其它术语包括'组i央"(子 区域被称为"组i央")和"散列表元(bucket)"绘制。为方鹏见以下将{顿术语"平
铺显示"和"TO显示的",但是应该理解的是,这些术语意在包括所有可替代的
和等效的术语和技术。
这种基于平铺显示绘制的优势在于未在特定平铺显示中出现的图元不必为 该平铺显示对其进行处理,并且因此当处理平铺显示时可以将其忽略。这可以 使得特定场景所需的图形处理总量减少。
在基于平铺显示的绘制系统中,因]Jtffi常需要能够识别和认出那些实际上 存在于特定子区fe熏平铺显示)中的图元,从而,例如,避免不必要地绘制实际上
不存在于Wi显示中的图元。为了便于这一点,已知的是为旨子区織平铺显
示)准备要为该子区域乡賴啲图元列表(例如将出现在子区域中的那些)。这种"平 铺显示列表"(还可以称为"图元列表")为该平铺显示(子区域)识别(例如通过参考 图元指示銜待绘制的图元。
因此为待绘制的每个子区域(平铺显示)准备平铺显示列表的处理基本上包 含为特定子区域(平铺显示)确定应该绘制的图元。该处理通常通过确定(以期望
的准确度)贯穿该TO显示(即,将出现(至少部分地)在内)的图元执行,并且然后
准备那些图元的列表以备将来由图形处理系统所用。(这里应当指出如果图元落 入一个以上的平铺显示中(由于经常是这种情况),那么它被归入它所落入的每个 平铺显示的平铺显示列表中。)实际上,每个子区織平铺显示)可以被认为是具 有贮存樹 显示列萄,被发现落入(即横穿)子区域中的任何图元都被置于 其中(并且,实际上,依照此方式基于各个平铺显示分类图元的处理通常称为"装 仓")。
如所属技术领域已知的那样,确定应该为任何特定平铺显示(绘制的)列出 的图元的处理可以以各不相同的精确度执行,例如根据不同部分的平铺和绘制 处理的效率最佳化。例如,以最精确的水平能精确地确定特定图元将至少部分 地出现在哪些平铺显示中,然后只为那些平铺显示列出该平铺显示中包括的图 元。sa常称为"准确的"^。
6图1举例说明准确的装仓处理。如图1所示,待显示的场景1被分成十六 个均匀大小的子区域或者平铺显示2。然后为场景中的每个图元确定,该图元实 际上出现(落入)在那个或哪些平铺显示中。将图元添加到被发现落入其中的 *¥11显示的 显示列表中。因此,采用图l中示出的例子,图元3被添
加到平铺显示4的平铺显示列表中,图元5被包括在Wt显示6和7的平铺显 示列表中,图元8被包括在平铺显示9, 10, 11和12的平铺显示列表中,以及 图元13被包括在平铺显示12的平铺显示列表中。(这里应当指出,为了清楚的 目的,图1只示出了一些平铺显示和图元。正如本领域技术人员所能理解的, 在实际图形处理操作中典型地有更多的图元和平铺显示。)
已知的还有利用比准确^r获得的更低的精确度准备平铺显示列表。这能 对例如简化平铺显示列表的准备十分有用。 一个通用的"不太精确的"装仓技术 是'边框"装仓。在此情况下,所谓的"边框"是围在图元或者一组图元的四周,并 且然后确定由边框覆盖的平铺显示。然后为已发现被边框覆盖(至少部分地)的每 个 1显示歹咄(忙存)边#[樣的(即由边框包围的)一个或多个图元。
因此该配置使用边框来确定应该为哪些平铺显示列出待绘制的特定图元, 而不是图元本身。这可以表示,例如,可以列出为平铺显示绘制的实际上未落 入的图元(例如如果边框不足够紧密或者没有准确地环绕图元》但是另一方面, 依照此方式使用边框能简化平铺显示列表的准备。
一旦以这种方式为每付区域(平铺显示)准备了待绘制的图元列教平铺显 示列表),那么这對平铺显示)列表被存储用于例如,当绘制该平铺显示时,让 系统识别哪些图元是需要考虑的(以及绘制的)。
经发现这种基于平铺显示的绘制配置运行良好,因为它们可以,例如有助 于避免对于不存在这些图元的场景区域还对它们进行处理盼瞎况。
然而,申请人相信还有改进现有基于糊显示的纟魏係统的空间。
根据本发明的第一方面,提供一种用于分类要在图形处理系统中进行处理 的图形数据的设备,其中待纟魏啲场景被分成多个绘制子区域,所述设备包括
用于将涉及或者关联于待绘制场景中的一个或多个地点的图形描述符分类 至i新述场景被划分成的一个或多^f区域中的装置。
根据本发明的第二方面,提供一种用于分类要在图形处理系统中进行处理的图形数据的方法,其中待绘制的场景被分成多个绘制子区域,所述方法包括 如下步骤
将涉及或者关联于待绘制场景中的一个或多个地点的图形描述符分类到所 述场景被划分成的一个或多个子区域。
根据本发明的第三方面,提供一种用于处理要在图形处理系统中进行处理 的图形数据的设备,其中待绘制的场景被分成多个绘制子区域,所述设备包括:
用于将涉及或者关联于待绘制场景中的一个或多个位置的图形描述符关联 至廿所述场景被划分成的一个或多W区域的装置。
根据本发明的第四方面,提供一种用于处理要在图形处理系统中进行处理 的图形数据的方法,其中待绘制的场景被分成多个绘制子区域,所述方法包括 如下步骤
将涉及或者关联于待绘制场景的一个或多个地点的图形描述符关联到所述 场景被划分成的一个或多W区域。
根据本发明的第五方面,提供一种用于分类要在图形处理系统中处理的图 形数据的设备,其中待绘制的场景被分成多个绘制子区域,所述设备包括
用于为场景可以被分成的一个或多个子区域准备图形描述符列表,例如并 且伏选为处理的装置,每个图形描述符是除了待绘制的场景的一个图元之外的 元素。
根据本发明的第六方面,提供一种用于分类要在图形处理系统中处理的图 形数据的方法,其中待绘制的场景被分成多个绘制子区域,所述方法包括如下 步骤
用于为场景可以被分成的一个或多个子区域准备图形描述符列表,例如并 且优选为处理,#^图形描述符是除了待绘制的场景的一个图元之外的元素。
本发明致力于一种基于WI显示的绘制系统(即其中待纟魏啲场景被分成多 付区域)。然而,不同于现有技术中的基于TO显示的绘制系统,场景要乡魏U 的基本图元,诸如"简单的"多边形,例如三角形,四边形,直线或者点等等, 是以本发明中的(即场景的最小"多边形滩述)非简单的图元可以实现的并目.在 逐个賴显示(逐个子区域)上被分类的,以及放置在(包括在)"^fi显示列奢,中 的其它图形描述符形式来描述,而不是简单地分类到"平铺显示"并且包括在"平 铺显示列表"中。申请人已经意识到,不仅分类描述和定义要绘制到平铺显示中的场景的基 本、简单的图元,而且分类其它形式的场景(图形)描述(描述ff)是很有优势的。
例如,可以作为替换或者同时(有选择地)将fW共有的多个单个图元的图形 描述符,诸如绘图调用,存储在平铺显示列表中,然后其允许用于平铺显示列 表的存储量,例如变化和域M4、。因此本发明可以易于更最好地控制和了解平 铺显示列表处理的存储器使用需求。这在图形系统中是有益的,尤其是在它们 将要在更多限制的设备上实现的情况下,诸如便携式设對例如移动电话,PDA, 手持设备等荀。
申请人还意识到,除了对单个图元之外还对图形描述符进行一个或多个平 铺操作可以提供其它优势。例如,它可以允许以这些其它图形描述符的形式分 类和淘汰图形数据。
还意味着,平铺操作本身时间较短并且处理资源集中,以及因此可以,例 如更容易执行,例如为了粗略的初级分类图形翻滩述)的目的。例如,它可以 用于进行图形数据的初始粗略的平铺,例如以较大的图形描述符标准,来看例 如是否有任何图形描述符会立即从进一步处理中被丢辨淘汰),而无需为此准备 基本图元级别的平铺显示列表。
因此本发明有利于,例如淘汰和/或隐藏表面去除的形式,例如并且tm的 是,在绘制之前。
待绘制的场景被划分成的子区喊平铺显示)可以是任何适当的和期望的这 种子区域。它们优选为都是相同大小与形状(即优选的是使用均匀的大小与形状 的,显示),正如本领域所熟知的那样,尽管这不是必要的。子区域 为正 方形或者矩形。子区域的大小和数目可以根据需要选择。在 配置中,每个
子区敏平铺显示)是大小为16x16或者32x32的分段(然后根据正在使用的显示 (帧)大小所需将场景分成许多这种的子区域)。
在优选的实施例中,可以为单个子区鄉n/或为包括一个以上子区域的一个
或多个子区域集合准备平铺显示列表(图形描述符列萄。在为一个以上子区域的
集合准备TO显示列表(图形描述符列表)(公共存储的Wi显示列萄的情况下, 一个以上子区域的集合tm为包括M个子区域,并且伏选的是包括一组连续 的子区域。
被分到子区域中和/或为子区域列出的等等的图形描述符,可以是任何适当的和期望的这种描述符。正如本领域技术人员所能理解的,它们应该是除了可 以和将用于为实际的绘制处理来描述场景的简单的基本图元,诸如简单多边形, 诸如三角形,四边形,直线或者点之外的元素(并且因此不会是简单图元的形式, 诸如三角形,直线,四边形或者点)。
同样地,图形描述符应该具有或者包括具有某种形式的,或者特定的或者 可选的等等,在和它们相关联的待处理的场景中的位置或地区(地点)的描述(例 如,并且优选为,有关或者就是待绘制的场景(一部分)中的元素)(实际上该特
性使得更适合和需要通过它们在场景中的地点分类它们)。因此图形描述符tti^
为包括或者具有与它们相关联的几何形状和/或信息,期各场景中的位置或者地 点传送到图形处理的一个后续阶段或多个阶段。
实际上,本发明可以应用于糊立置信息(与位置相关联的)传送到图形处理的
任何图形描述符,诸如定义图形处理(过程)应该在哪儿执行, 一个或多个对
象应该在哪J L绘图等之类的描述符。
在一个优选实施例中,图形描述符包括将在给定的,特定场景位置或者区 域中执行的某种形式的图形处理(过程)的描述,诸如应该在特定地区或者区域中 或者场景的地点触发的特定图形过程或者处理的指示。
例如,图形描述符可以定义例纟 f呈序或者过程,诸如用于在待绘制的场景 中的给定地点上生成(让系统生成) 一组图元的程序。例如,它们可以包括过 程化绘图调用。
在优选的实施例中,图形描述符表示或者包括将要绘制的对象,但是以除 了简单多边形或者图元之外的形式。因此在优选的实施例中,图形描述符包括 图象对象,但不是单个简单图元的图形对象。
例如,图形描述符还可以或者替代地,并且 的包括例如要绘制的对象 的更高级别或者更高标准的,例如待绘制的对象的描述,例如,而且优选为, 在它被转换为图元(例如三角形)表示之前的对象描述。
这种待绘制对象的更高级别或者更高标准描述的例子是对象的光滑表面表 示(例如在此'对象'包括平滑的,例如弯曲的,表蹄。在此瞎况下,场景中的光 滑表面的光滑表面描述符可以按本发明的方式被分类。
可以采用本发明的另一个形式的图形对象更高级别的定义是让图形系统如 何在场景中的给定地点上生成一组图元的程序或者过程。因此在i趟的实施例中, 一个或多个图形描述符包括待绘制对象糊頃元 的和/或预图元描述,例如,并且4她为在对象盼'图元滩述存在之前用于一个 或多个该对象。换言之,在优选的实施例中,图形描述符包括待绘制的对象的 前身描述銜描述)(即lW象的图元级另鹏述之前的描述)。在这些瞎况下,图形 描述符将表示待绘制的对象并且到目前为止可能还没有该对象的"图元级别"或 者基于图元的描述,而是图形描述符将及时地被转换为该对象的基于图元的描 述,但该对象的基于图元的描述可能仍不存在。
这种基于非图元的图形描述符可以被认为,例如是'元图元",例如其将要 在适当时变换为"简单的"图元。
对于图形描述符也可以包括和/戯示多个图元的组或者集合,例如多个连 续的三角形的集合。在此情况下,对象的图元级别的描述可以存在,相比于逐 一地分类每个图元,可以一起分类图元组。实际上,这可以使得待绘制的对象 的粗略表示被'TO",甚至该对象的"图元滩述可以存在。这种配置的例子是使 用包括多个图元的边框作为按本发明的方式分类的图形描述符。
在优选的这种实施例中, 一个或多个图形描述符包括绘图调用(或者多个绘 图调用)。(正如在所属领域中已知的那样,在图形处理中图7M常组合为集合, 例如,对于程序员打算一次作为整体一起绘制的特定场景区域。这种要被处理 的图元组通常称为"绘图调用")。因此在特定 实施例中,场景的绘图调用被 分类到平铺显示中(方i(A平铺显示列表中)。如果需要,这种配置中的绘图调用可 以是过程化绘图调用(例如定义生成图元的过程的绘图调用)。
正如本领域技术人员所能理解的,在使用绘图调用时,例如,尽管任何给 定绘图调用典型地表示并且包括多个图元,但也可以存在只包括或者表示简单 图元的绘图调用。然而,这仍然在至少本发明的4她实施例的范围内,因为绘 图调用是能够共同表示多个图元的图形描述,即使实际上它可能不是始终这样。
换句话说,正如本领域技术人员所能理解的,本发明的目的在于使用非简 单的单个图元的(并且不同于待绘制对象的单个图元描述)图形描述符,而是或者 包括,或者表示,或者可以共同代表多个图元,和/或待绘制对誠者待执行的 图形处理的基于非图元的描述的图形描述符。
因此,在特定4腿实施例中,图形描述符包括待绘帝树斜卩/或待执行的图 形处理的基于非图元的描述,和/或包括或者代表或者可以代表多个图元的待绘
11制的图形对斜Q/或待执行的图形处理的描述。
在优选的实施例中,为给定类型图形描述符准备平铺显示列表(图形描述符 列萄。换句话说,给定类型的图形描述符,例如绘图调用,被分类到子区喊平 铺显示)中。在一个〗雄实施例中,只有单个鄉或者类别的图形描述符包括在 任何给定列表中。
然而也能够在相同列表中包括不同类型的图形描述符,并且因此在另一个 4腿实施例中,齡不同翻的图形描述符可以包括在给定子区域的(或者子区 域集合)列表(WI显示列萄中。
如果需要,在平铺显示列表中也能够包括简单图元,例如简单多边形形式 的图形图元,例如三角形,四边形,直线或者点,和其它图形描述符一起。(如 果需要,本发明不排除另夕h(例如同时或者随后)准备要绘制的基本图形图元的平 铺显示列表。)
例如,可以只为选择的子区織平铺显示)准备图形描述符列表,但在雌的
实施例中,为场景被划分成的^hT区織TO显示)准备图形描述符歹i该。
将图形描述符分类到子区域中,并且为子区域准备图形描述符列表可以以 任何适当的和期望的方式执行。例如,早已知晓和用于分类和装仓图元到平铺 显示列表中的任何技术,例如准确装仓,或者边框装仓或者两者之间的一切都 可用于该处理。
因此,例如,初始确定图形描述符将要被处理的子区域可以基于场景中图 形描述符的确定地点执行(这个地点可以是,例如图形描述符的精确地点或者基 于例如环绕图形描述符的边框的图形描述符的近似地点,正如在本领域中已知 的那样),并且然后图形描述符被列在一些或者所有子区域中,其确定地点表明 它应该在此被绘制。例如并且优选为,为场景中的每个图形描述符重复这些步 骤从而为该场景准备图形描述符列表的完整集合。
因此在优选的实施例中,确定场景中给定图形描述符的地点并且与该场景 被戈盼的子区殿n/或多个子区域的集合相比,以确定可以或者应该为哪些子区 域禾哆个子区域的集合处理图形描述銜例如出现(落入)在内)。
在这些配置中,可以根据需要得出图形描述符的地点,例如并优选为从图 形描述符的地点或者位置数据或者与图形描述符相关联的地点或者位置数据得 出。同样地,子区域的位置可以以任何期望的并且适当的方式得出。在适当的情况下,在描述符被分类到子区域等等之前,图形描述符的任何位置或者地点 或者与图形描述符相关联的任何位置或者地点,优选地转换为当其要被绘制时 该场景的该描述符具有的位置,以便帮助确保它是所考虑的描述符的"最终的", 正确的位置。
在哪里要使用边框技术,那么能够根据需要并在那里生成边框。例如,正 如本领域中所熟知的,边框可以基于每个图形描述符而生成,或者基于多个图 形描述符的一个或多个集合而生成。例如,边框可以,例如,由主机系统上的 图形处理器API或者驱动器生成。
单个图形描述符列表和它们中的图形描述符可以以任何期望的和适当的方
式设置并且包括任何期望的和适当的数据。该列表ifc选为按照本领域中已经用
于的这种或者类似的图形描述符、平铺显示列表等等的相同或者类似方式设置 并包含数据。
一旦图形描述符已被选出并且己为如上所述的子区域准备了图形描述符列 表,那么这些信息就可以被用来处理图形描述符(并且,例如它们4 的图元的)。 这种处理可以包括任何适当的和期望的处理。
在一个优选实施例中,该处理包括绘制图形描述符。换句话说,它包括当 绘制场景时使用图形描述符列表,并且tt^为确定需要为每个子区域处理(绘伟'J) 哪些图形描述符(以及例如图元)。
该绘制处理可以并且 为与现有的基于平铺显示的绘制系统类似的方式
执行。因此雌为分另哋处理和纟魏舰齡子区^平铺显示),即一个接一个地 绘制與虫的各个子区域。该绘制可以以任何期望的方式执行,例如,通过连续 地或者以并行的方式绘制各个子区域。 一旦已经纟雜u了所有子区壞平铺显示), 那么可以在例如帧缓冲器中将它们重新结合以进行显示,正如在本领域中已知 的那样。
在另一优选实施例中,图形描述符列表等此外还或者替代的用于在绘制场 景之前执行(例如并且雌为开始的)淘汰操作(例如隐藏面去掉),例如并且雌 为从(将来的)处理中去掉可以确定不会在将要显示的场景中看到的图形描述 符。这种淘汰可以包括例如确定是否有任何图形描述符将落在场景的可视区域 之外(在这种情况下它们可以被抛弃)。当然还可以使用或者替换更加复杂的淘汰配置。在优选的这种实施例中,图形描述符的位置或者地点与场景的一个或多个 区域或者子区域的位置或者地点等等相比较。
如上所述,本发明可以便于这种操作,如分类或者平铺显示例如更大的图 形对象,而不是单个图元,可以不强化处理等等。
尽管已经特别地参照场景将被划分成用于绘制的子区^(平铺显示)来分类 图形描述符等描述了本发明,但是正如本领域技术人员所能理解的,如果需要 可以对于场景的其他区域执行这种分类。例如在淘汰操作的情况下,可能只需 要比较图形描述符的位置与场景的可视区域(来看,例如是否有任何描述符全 部落在场景的可视区域以外)。
因此,根据本发明的第七方面,提供一种用于在图形处理系统中分类用于 处理的图形数据的设备,所述设备包括
用于将涉及或者与待绘制场景中的一个或多个地点相关联的图形描述符分 类到该场景的特定区域或者子区域中的装置。
根据本发明的第八方面,提供一种在图形处理系统中分类用于处理的图形 数据的方法,所述方法包括如下步骤
将涉及或者与待绘制场景中的一个或多个地点相关联的图形描述符分类到 该场景的特定区域或者子区域中。
根据本发明的第九方面,提供一种用于在图形处理系统中处理用于处理的 图形i^的设备,所述设备包括
用于将涉及或者与待绘制的场景中的一个或多个地点相关联的图形描述符 与该场景的特定一个特定区域或多个区域或者一个或多个子区域相关联的装 置。
根据本发明的第十方面,提供了一种在图形处理系统中处理用于处理的图 形数据的方法,所述方法包括如下步骤
将涉及或者与待绘制的场景中的一个或多个地点相关联的图形描述符与该 场景的一个特定区域或多个区域或者一个或多个子区域相关联。
根据本发明的第十一方面,提供一种在图形处理系统中处理用于处理的图 形数据的设备,所述设备包括
用于为待绘制的场景的一个或多个区域或者子区域准备图形描述符列表, 例如并且优选为以用于处理的装置,^图形描述符是除了待绘制现场景的单
14个图元之外的元素。
根据本发明的第十二方面,提供了一种在图形处理系统中处理用于处理的 图形数据的方法,所述方法包括如下步骤
为待绘制的场景的一个或多个区域或者子区域准备图形描述符列表,例如 并且优选为以用于处理,每个图形描述符是除了待绘制场景的单个图元之外的 元素。
根据本发明的第十三方面,提供一种在图形处理系统中处理用于处理的图 形数据的设备,所述设备包括
用于比较待绘制场景的图形描述符的位置或地点与该场景的一个特定或者 所选区域或多个区域或者一个或多个子区域的位置或定位的装置。
根据本发明的第十四方面,提供了一种在图形处理系统中处理用于处理的 图形类 的方法,所述方法包括如下步骤
比较待绘制场景的图形描述符的位置或地点与该场景的一个特定或者所选 区域或多个区域或者一个或多个子区域的位置或定位。
正如本领域技术人员所能理解的,本发明的这些方面和实施例可以并且优 选为视情况而包括如本文所述的本发明的所有优选和可选特性的任何一个或多 个。因此,例如,图形描述符可以采用上述的任何形式。同样地,图形描述符 被分类成的场景的被选的一个或多个区域 为包括场景将要为绘制目的而划 分的子区域(平铺显示),尽管不必这样,如果需要,例如区域还可以或者替代为 涉及该场景的可视和不可视区域等等。
本发明的多个功能可以以任何期望的和适当的方式执行。在特定优选实施 例中,它们是在生成与输出图形数据的单个图形处理平台上执行的,所述图形 数据被写入显示设备的帧缓冲器中。根据需要所述功能可以用 更件或者软件实
现。在im的实施例中,该系统实现为硬件元f邻列如ASIC)。因此,在另一个
方面本发明包括具有本文所述的本发明任何一个或多个方面的设备的硬件元 件,或者根据本文所述的本发明的任何一个或多个方面的方法运行的硬件元件。
这里还应注意的是,正如本领域技术人员所能理解的,在给定处理器上可 以并份也复制和/或执行本发明的多个功能等等。
本发明适用于任何形式或者配置的图形处理器和绘制器,例如具有"流水
线"配置的^^戮在这种情况下乡魏U器将是織'M7K线的形式》
15正如从以上所述可以理解的,本发明尤其,尽管不唯一,适用于3D图形处 理器和处理设备,并且从而扩展到包括本文所述的本发明的任何一个或者多个 方面的设备的,或者根据本文所述的本发明的任何一个或者多个方面的方法运
行的3D图形处理器和3D图形处理平台。根据执行±^特定功能所需的任何硬 件,这种3D图形处理器可以另外包括3D图形处理器包括的常用功能部件的任 何一个或多个或全部等等。
本领域技术人员还能理解的是,本发明描述的所有方面和实施例可以视情 况而包括本文所述的,和可选特性的任何一个或多个或全部。
依照本发明的方法可以至少部分地使用软件,例如计算机程序实现。因此 从其他方面来看可以看出,本发明提供了当安装在数据处理装置上时具体用于 执行本文所述方法的计算机软件,计對几程序元件包括计算机软fH戈码部分, 用于当程序元件在数据处理装置上运行时执行本文所述的方法,并且计算机程 序包括代码装置用于当该程序在数据处理系统上运行时执行本文所述一种或多 种方法的所有步骤。本发明还提供一种计算机软件载体,其包括这样的软件, 其当用于运行图形处理器、绘制器或者包括数据处理装置的微处理机系统时令 所述数据处理装的所述处理器、绘制器或者系统共同执4于本发明方法的步骤。 这种计算机软件载体可以是物理存储器介质,例如ROM芯片,CDROM或者
磁盘,或者可以是信号,例如经由线路的电子信号、光学信号或者例如到卫星 的无线电信号或类似信号。
可以进一步理解的是,不是本发明的方法的所有步骤都需要通过计算机软 #^行,并且因此从更宽泛的方面来说,本发明提供了计算机软件而且这种软 件安装在计敦几软件载体上用于执行本文所述方法的最少其中一个步骤。
因此本发明可以适当地体现为与计算机系统一起使用的计算机程序产品。 这种实现方式可以包括或者固定在有形介质,诸如计算机可读介质,例如软盘, CD-ROM, ROM,或者硬盘上的一系列计算机可读指令,或者经由调制解调器 或者其他接口设备,在有形介质之上包括但不限于光学或者模拟通信线路,或 者无形地使用无线技术,包括但不限于微波,红外或者其它传送技术,可传送 到计算机系统的一系列计算机可读指令。 一系列计算机可读指令包含本文以前 所述的所有或者部分功能。
本领域技术人员将理解的是,这种计算机可读指令可以利用多种编程语言
16编写以用于多种计算机体系结构或者操作系统。而且,这种指令可以使用任何 现有的和未来的存储技术存储,包括但不限于半导体,磁性,或者光学,或者 使用任何现有或者未来的通信技术进行传输,包括并不局限于光学,红外或者 微波。设想这种计算机程序产品可以利用附有打印或者电子文档的可移除介质
分送,例如收縮性薄膜包装的软件,预先载入计^m系统,例如在系统ROM或
者硬盘上,或者从网络的,例如因特网或者万维剛艮务器或者电子公告板分送。
以下将参照附图并且只以举例说明的方式描述本发明的多个j,实施例, 其中
图1示意性tte出了基于TO显示的图形处理布置;
图2示意性地示出了可以依照本发明运行的图形处理器的配置;以及
图3示出了待显示的图元的示柳性场景。
具体实施例方式
现在将参照附图2和3描述本发明的j,实施例。
在本实施例中,被平铺并且歹赃平铺显示列表中的图形描述符包括绘图调 用形式的图形对象。然而,如上所述,其他配置当然也是可行的。
图2示意性地示出了可以依照本发明运行的图形处理器。图形处理器20包 括几何结构处理器21和乡飾U器22,其中两者都可以访问存储器23。正如在本 领域中已知的那样,存储器23可以与几何结构处理器21和绘制器22—起都在 "芯片上",或者可以是可以由几何结构处理器21和^i器22访问的外部存储 器。
如图2所示,存储器23存储原始几何学数据24的集合(例如,正如在本领 域中已知的那样,其是由图形处理器驱动器或者图形处理器20的主系统(微处理 器)上运行的API提供的),转换的几何学数据25的集合(其是在原始几何学 24上执行多个变换和处理操作的结果,正如在本领域中已知的那样),和图形对 對描述^)列表26的集合。图形对象列表26是依照本发明而准备的。下面将比 较详细地描述该过程。
转换的几何学数据25包括例如转换的顶点(顶点辦居)等,正如在本领域中 已知的那样。
几何结构处理器21特别包括可编程的顶点渐变器27和图形对對描述^)列表构造单元28。可编程的顶点渐变器27采用存储在存储器23中的原始几何 学 24作为输入,并且处理该 以提供转换的几何学 25(然后竊储 在存储器23中),所述几何学数据25包括具有适于在待显示的帧中的2D布置 的形式的几何学M。可编程的顶点渐变器27和^l行的处理可以采用任何适 当的形式并且是本技术领域已知的任何适当的和期望的这种处理。
图形对象列表构造单元28执行本发明将图形对教在当前瞎况下描述符是 绘图调用)分配给图形对對描述銜列表的处理,然后图形对象列表由纟飾'j器22 用于识别应该为待纟雜啲场景的齡子区域纟魏啲图形对夠描述銜。为此,图 形对象列表构造单元28采用来自可编程的顶点渐变器27的经转换和处理的顶 点数据(即场景中图形对象的位置)作为它的输入,4顿该数据构造图形对對平 铺显示)列表,并将那些列表作为图形对象列表26存储在存储器23中。
绘制器22包括图形对對描述^)选择单元29,图形对象列表高速缓存器30, 顶点选择单元31,顶点数据高速缓存器32,栅格化单元33,绘制单元34和平 铺显示缓存器35。
在此实施例中,栅格化单元33,纟魏U单元34, ^BI显示缓存器35以这些 单元在现有图形处理系统中运行的相同方式运行。因此栅格化单元33采用图元 及其顶点作为它的输入,将该图元栅格化为分段,并且将这些分段提供到绘制 单元34。然后绘制单元34在该分段上执行多个纟魏拠理,例如纹理舰,混合, 明暗处理等等,并且生成绘制的分段数据,该分段数据存储在平铺显示缓存器 35中以提供给帧缓冲器用于显示。
会魏U器22的图形对象选择单元29确定下一个将要绘制哪个图形对對在当 前情况下是绘图调用)及其图元。它舰考虑存储在存储器23中的图形对象列表 26,以及从这些列表的其中一个选择下一个待纟魏啲图形对夠绘图调用)来实现 这一点。
图形对象选择单元29还可以将一个或多个图形对象列在图形对象列表高速 缓存器30中。
图形对象选择单元29将已选择用于下一个纟魏啲图元提供至顺点选择单元 31。响应于此,顶点选择单元31从存储在存储器23中的经转换的几何学 25中检索该图元的适当转换的顶点鋭居,然后将该图元(即它的转换的顶点数据) 提供到栅格化单元33进行处理。如果需要,顶点选择单元31可以将它从存储
18器23中检索出的顶点 缓存到顶点 高速缓存器32中。
图3示出了将用作本发明实施例描述的显示的示例性场景的待显示示例性场景。
正如从图3可以看到的那样,场景50包含四个图元,其分组为两个'绘图 调用",绘图调用1和绘图调用2。图元0, 1和2被分组为绘图调用1 ,而图元 3属于绘图调用2。(正如本领J^万熟知的,将图元分组为"绘图调用"的基本意思 是应用程序设计员希望绘图调用中的所有图元能够被一次绘图,通常是出于性 能原因。相同绘图调用中的图元组通常共享相同的状态和明暗渐变器禾聘数据。)
这里还应该注意,鉴于存在两个独立的绘图调用,而图元2在一个绘图调 用中,图元3在另一个绘图调用中这一事实,在图3中示出的顶点8无法共用 于图元2和图元3,而是表示为具有相同的顶点位置和顶点属性的两个不同的顶 点。
如图3所示,待绘制的场景50被分成多个单一子区域或者平铺显示51 。
(正如本领域技术人员所能理解的,实际上任何待绘制的给定场景将典型地 包括比在图3中示出的四个图元和两个绘图调用更多的图元和绘图调用。然而 出于简明和清楚的目的,图3只示出了四个图元和两个绘图调用。)
在本实施例中,图形对象列表构造单元28确定^绘图调用(图形描述銜, 绘图调用1和绘图调用2的地点,并且为绘图调用所属的每付区戮 显示) 列出图形对對描述銜列表中的绘图调用。这样,系统可以识别应该为每个子区 域纟飾卿些绘图调用(图形描述銜。
例如,这一点可以利用准确装仓技术实现,在这种情况下图形对象列表构 造单元28使用由可编程的顶点渐变器27为给定绘图调用提供的确定的转换的 顶点位置来识别该绘图调用属于(横釣哪些子区域和子区域集合。
正如本领域技术人员所能理解的,如果需要可以使用用于确定和定位在场 景内和与子区域(平铺显示)51有关的绘图调用的其它技术。例如,边框技术可 以同样地使用,正如在本领域中已知的那样。图3示出了绘图调用,绘图调用l 和绘图调用2的示例边框52, 53。(如果4顿边框技术,那么例如通过图形对象 列表构造单元产生边框作为图形对爽描述銜列表过程的一部分是雌的,不过 当然其他配置也是可以的。)
接着图形对象列表构造单元28为待*魏啲场景中的*图形对對绘图调用)重复这些处理,直到为待绘制的场景被分成的每付区域生成了完整的图形 对象列表26(图形对夠描述銜的列萄。
图形对象列表构造单元28依照它从可编程的顶点渐变器27接收这些图形 对象的顺序将图形对對描述f旬放在图形对象列表26中。这意味着,就涉及的 *单个图形对象歹暖26来说,列表中的图形对對描述銜是依照它们被生成 的顺序,正如在本领域中已知的那样,该顺序典型地将相应于绘制图形对象的 所期望的顺序。
如上所述,纟魏U器22还包括图形对象列表高速缓存器30和顶点繊高速 缓存器32。正如在本领域中已知的那样,这些高速缓存器包括纟雜U器22上提供 的局部存储器,其可以比主存储器23更决速地被纟魏幡的处理单元(并且具体来 讲分别是图形对象选择单元29和顶点选择单元31)访问。
图形对象选择单元29被配置为在图形对象列表高速缓存器30中存储它从 主存储器23中读取的一个或多个图形对象列表26 。
顶点选择单元31同样可以在顶点数据高速缓存器32中高速缓存它从存储 器23中的转换的几何学数据25中检索的顶点数据,而且尤其是在可以识别出 为图元再次需要顶点数据的情况中。
尽管以上参考使用图形对象(描述符)歹i」表描述了实施例以表明待绘制的图 元的绘制过程,但是这些列表还可以或者替代地用于其它目的,诸如执行图形 魏和描述符的(例如初始)淘汰,禾口减隐藏表面排除。
正如本领域技术人员所能理解的,根据需要本实施例(以及本发明)可以在任 何基于平铺显示的绘制系统中实现。本实施例和本发明的多个组件与功能同样 可以根据需要并且使用本领域已知的任何适用技术来实现。
从以上可以看出,在本发明,至少是在其伏选实施例中,为基于平铺显示 的绘制系统提供了图形数据的列表和分类配置,其可以例如易于更好地控制和 了解平铺显示列表(图元分类(装仓))处理的存储器使用和需要和/或提供更容易 地从后续处理去除(淘汰;)数据的机会。
在资源和存储器需求可能例如被限制的设备的情况中,例如在嵌入式设备 和/或便携式设备,诸如移动电话等,这会特别有用。
在本发明的优选实施例中,这是至少通过将不仅仅是基本简单的图元的图 形描述銜描述)分类到 显示歹拨中淳于逐付区域)来实现的。
权利要求
1、一种用于在图形处理系统中分类用于处理的图形数据的设备,该设备包括用于将涉及或者关联于要绘制的场景的一个或多个地点的图形描述符分类到所述场景的子区域或者特定区域中的装置。
2、 一种用于在图形处理系统中处理用于处理的图形数据的设备,该设备 包括用于为待绘制的场景的一个或多个区域或者子区域准备图形描述符列表的 装置,每个图形描述符是除了待会魏啲场景的单个图元之外的元素。
3、 如权利要求1或者2所述的设备,其中场景的区域或者子区域包括为 绘制目的将场景分成的子区域。
4、 如权利要求1 , 2或者3所述的设备,其中场景的区域或者子区域包括 场景的可视和非可视区域。
5、 如权利要求1至4的任一项所述的设备,包括用于准备使用于共有的 一个以上的子区域或者区域的图形描述符列表的装置。
6、 如权利要求1至5的任一项所述的设备,其中图形描述符包括要在特 定场景地点或者区域中执行的图形处理的指示。
7、 如先前的任一项权利要求所述的设备,其中图形描述^^括待绘制对 象的高等级或者高标准描述和/或预图元描述。
8、 如先前的任一项权利要求所述的设备,其中图形描述符包括和/或fW 或者可以代表多个图元的组或者集合。
9、 如先前的任一项丰又利要求所述的设备,其中图形描述符包括绘图调用。
10、 如先前的任一项权利要求所述的设备,包括用于当绘制用于显示的场 景时使用分类的图形描述符和/或图形描述符列表的装置。
11、 如先前的任一项权禾腰求所述的设备,包括用于《顿分类的图形描述符和/或图形描述符列表来在纟魏肠景之tr^行淘汰操作的装置。
12、 一种用于在图形处理系统中处理用于处理的图形数据的设备,所述设 备包括用于将待绘制的场景的图形描述符位置或地点与该场景的特定或者被选择的一个区域或多个区域或者一个或多个子区域的位置或地点进行比较的装置。
13、 一种在图形处理系统中分类用于处理的图形数据的方法,所述方法包 括如下步骤将涉及或者关联于要绘制的场景的一个或多个地点的图形描述符分类到所 述场景的特定区域或者子区域中。
14、 一种在图形处理系统中处理用于处理的图形数据的方法,所述方法包 括如下步骤为待绘制的场景的一个或多个区域或者子区域准备图形描述符列表,每个 图形描述符是除了待绘制的场景的单个图元之外的元素。
15、 如丰又利要求13或者14所述的方法,其中场景的区域或者子区域包括 为了绘制目的将该场景分成的子区域。
16、 如权利要求13, 14或者15所述的方法,其中场景的区域或者子区域 包括场景的可视和非可视区域。
17、 如权利要求13至16的任一项所述的方法,包括准备使用于共有的一 个以上的子区域或者区域的图形描述符列表。
18、 如权利要求13至17的任一项所述的方法,其中图形描述符包括要在 特定场景地点或者区域中执^1的图形处理的指示。
19、 如丰又利要求13至18的任一项所述的方法,其中图形描述符包括待绘 制对象的高等级或者高级另鹏述和/或预图元描述。
20、 如权利要求13至19的任一项所述的方法,其中图形描述符包括和/ 或代表或者可以代表多个图元的组或者集合。
21、 如权利要求13至20的任一项所述的方法,其中图形描述符包括绘图 调用。
22、 如权禾腰求13至21的任一项所述的方法,包括当绘制用于显示的场 景时使用分类的图形描述符和/或图形描述符列表。
23、 如权利要求13至22的任一项所述的方法,包括^(OT分类的图形描述 符和/或图形描述符列表在纟飾畅景之前执行淘汰操作。
24、 一种包括计算机软件代码部分的计算机程序元件,当程序元件在数据 处理装置上运行时用于执行纟又利要求13至23中的任一项的方法。
25、 一种3D图形处理器或者3D图形处理平台,包括如权利要求1至12中的任一项所述的设备,或者根据如权利要求13至23中的任一项所述的方法运行的设备。
26、 一种用于分类或者M图形薩的设备,基本上如本文参照任一附图 所描述的那样。
27、 一种用于分类或者处理图形数据的方法,基本上如本文参照任一附图 所描述的那样。
全文摘要
一种图形处理器20包括图形对象列表构造单元28,在待绘制的场景中确定每个绘图调用的地点并且为待绘制的场景所分成的每个子区域(平铺显示)生成绘图调用列表。绘图调用列表存储在存储器23中。然后图形处理器20的绘制器22的图形对象选择单元29通过考虑对于当前正在绘制的场景的子区域(平铺显示)的在存储器23中存储的绘图调用列表26确定接下来将要绘制哪些绘图调用。
文档编号G06T15/00GK101447091SQ20071030669
公开日2009年6月3日 申请日期2007年12月4日 优先权日2006年12月4日
发明者B·约斯兰德, E·索尔加德, F·朗廷德, J·尼斯塔德, M·布拉泽维克 申请人:Arm挪威股份有限公司