CN101447091B - 用于处理图形的设备及其方法 - Google Patents

用于处理图形的设备及其方法 Download PDF

Info

Publication number
CN101447091B
CN101447091B CN 200710306692 CN200710306692A CN101447091B CN 101447091 B CN101447091 B CN 101447091B CN 200710306692 CN200710306692 CN 200710306692 CN 200710306692 A CN200710306692 A CN 200710306692A CN 101447091 B CN101447091 B CN 101447091B
Authority
CN
China
Prior art keywords
scene
descriptor
subregion
drawn
pel
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN 200710306692
Other languages
English (en)
Other versions
CN101447091A (zh
Inventor
E·索尔加德
B·约斯兰德
J·尼斯塔德
M·布拉泽维克
F·朗廷德
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
ARM Norway AS
Original Assignee
Falanx Microsystems AS
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from JP2006327341A external-priority patent/JP2007157155A/ja
Application filed by Falanx Microsystems AS filed Critical Falanx Microsystems AS
Publication of CN101447091A publication Critical patent/CN101447091A/zh
Application granted granted Critical
Publication of CN101447091B publication Critical patent/CN101447091B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Processing Or Creating Images (AREA)
  • Image Generation (AREA)

Abstract

一种图形处理器20包括图形对象列表构造单元28,在待绘制的场景中确定每个绘图调用的地点并且为待绘制的场景所分成的每个子区域(平铺显示)生成绘图调用列表。绘图调用列表存储在存储器23中。然后图形处理器20的绘制器22的图形对象选择单元29通过考虑对于当前正在绘制的场景的子区域(平铺显示)的在存储器23中存储的绘图调用列表26确定接下来将要绘制哪些绘图调用。

Description

用于处理图形的设备及其方法
本发明涉及一种用于处理图形的设备及其方法,并且具体来讲涉及在基于平铺显示的图形处理系统中使用的这种设备和方法。
本发明将特别地参照三维图形的处理进行描述,尽管正如本领域技术人员可以理解的,本发明也同样地适用于二维图形。
正如在本领域中已知的那样,执行图形处理通常首先将待显示的场景分解到很多类似的基本元素或者“图元”中,然后图元经过所期望的图形处理操作。图形“图元”通常是简单多边形的形式,诸如三角形,并且通常通过定义它们的顶点来描述。
对于图形处理操作,正如在本领域中已知的那样,每个图形图元通常进一步被划分到分散的图形实体或元素中,通常称为“分段”,在其上执行实际的图形处理操作(诸如绘制(render)操作)。每个这种图形分段将表示并且相应于图元中的特定位置,并且实际上包括所述位置的一组数据(诸如颜色和深度值)。
每个图形分段(数据元)通常相应于最终显示中的单象素(像元)(因为当在待显示的最终图像中像素是奇异点时,通常在图形处理器操作的“分段”和显示中的像素之间存在一对一的映射)。然而,这种情况是在“分段”和“像素”之间没有直接的对应性,例如后期处理的特殊方式诸如缩小比例是在显示最终图像之前在被绘制的图像上执行的。
因此典型地执行的图形处理的两个方面是“栅格化”图形“图元”(多边形)位置数据为图形分段位置数据(即确定图形分段的(x,y)位置以用于表示待显示的场景中的每个图元),然后“绘制”“栅格化的”分段(即颜色,明暗等等分段)以显示在显示器屏幕上。
(在图形学文献中,术语“栅格化”往往用于表示图元变换为分段和绘制。然而,这里“栅格化”只用于表示将图元数据转换为分段地址。)
许多图形处理系统使用所谓的“基于平铺显示的”绘制。在基于平铺显示的绘制中,待显示的二维场景被次划分或者划分为多个更小的子区域,通常称为“平铺显示”。平铺显示(子区域)是每个独立绘制的(通常一个接着一个)。绘制的子区域(平铺显示)然后被再结合以提供用于显示的完整帧。在这种配置中,场景典型地被分为形状和大小均匀的子区域(平铺显示)(通常它们是例如正方形或者矩形),但这不是必要的。
一般用于“平铺显示的”和“基于平铺显示的”绘制的其它术语包括“组块”(子区域被称为“组块”)和“散列表元(bucket)”绘制。为方便起见以下将使用术语“平铺显示”和“平铺显示的”,但是应该理解的是,这些术语意在包括所有可替代的和等效的术语和技术。
这种基于平铺显示绘制的优势在于未在特定平铺显示中出现的图元不必为该平铺显示对其进行处理,并且因此当处理平铺显示时可以将其忽略。这可以使得特定场景所需的图形处理总量减少。
在基于平铺显示的绘制系统中,因此通常需要能够识别和认出那些实际上存在于特定子区域(平铺显示)中的图元,从而,例如,避免不必要地绘制实际上不存在于平铺显示中的图元。为了便于这一点,已知的是为每个子区域(平铺显示)准备要为该子区域绘制的图元列表(例如将出现在子区域中的那些)。这种“平铺显示列表”(还可以称为“图元列表”)为该平铺显示(子区域)识别(例如通过参考图元指示符)待绘制的图元。
因此为待绘制的每个子区域(平铺显示)准备平铺显示列表的处理基本上包含为特定子区域(平铺显示)确定应该绘制的图元。该处理通常通过确定(以期望的准确度)贯穿该平铺显示(即,将出现(至少部分地)在内)的图元执行,并且然后准备那些图元的列表以备将来由图形处理系统所用。(这里应当指出如果图元落入一个以上的平铺显示中(由于经常是这种情况),那么它被归入它所落入的每个平铺显示的平铺显示列表中。)实际上,每个子区域(平铺显示)可以被认为是具有贮存器(平铺显示列表),被发现落入(即横穿)子区域中的任何图元都被置于其中(并且,实际上,依照此方式基于各个平铺显示分类图元的处理通常称为“装仓”)。
如所属技术领域已知的那样,确定应该为任何特定平铺显示(绘制的)列出的图元的处理可以以各不相同的精确度执行,例如根据不同部分的平铺和绘制处理的效率最佳化。例如,以最精确的水平能精确地确定特定图元将至少部分地出现在哪些平铺显示中,然后只为那些平铺显示列出该平铺显示中包括的图元。这通常称为“准确的”装仓。
图1举例说明准确的装仓处理。如图1所示,待显示的场景1被分成十六个均匀大小的子区域或者平铺显示2。然后为场景中的每个图元确定,该图元实际上出现(落入)在那个或哪些平铺显示中。将图元添加到被发现落入其中的每个平铺显示的平铺显示列表中。因此,采用图1中示出的例子,图元3被添加到平铺显示4的平铺显示列表中,图元5被包括在平铺显示6和7的平铺显示列表中,图元8被包括在平铺显示9,10,11和12的平铺显示列表中,以及图元13被包括在平铺显示12的平铺显示列表中。(这里应当指出,为了清楚的目的,图1只示出了一些平铺显示和图元。正如本领域技术人员所能理解的,在实际图形处理操作中典型地有更多的图元和平铺显示。)
已知的还有利用比准确装仓获得的更低的精确度准备平铺显示列表。这能对例如简化平铺显示列表的准备十分有用。一个通用的“不太精确的”装仓技术是“边框”装仓。在此情况下,所谓的“边框”是围在图元或者一组图元的四周,并且然后确定由边框覆盖的平铺显示。然后为已发现被边框覆盖(至少部分地)的每个平铺显示列出(贮存)边框代表的(即由边框包围的)一个或多个图元。
因此该配置使用边框来确定应该为哪些平铺显示列出待绘制的特定图元,而不是图元本身。这可以表示,例如,可以列出为平铺显示绘制的实际上未落入的图元(例如如果边框不足够紧密或者没有准确地环绕图元),但是另一方面,依照此方式使用边框能简化平铺显示列表的准备。
一旦以这种方式为每个子区域(平铺显示)准备了待绘制的图元列表(平铺显示列表),那么这些(平铺显示)列表被存储用于例如,当绘制该平铺显示时,让系统识别哪些图元是需要考虑的(以及绘制的)。
经发现这种基于平铺显示的绘制配置运行良好,因为它们可以,例如有助于避免对于不存在这些图元的场景区域还对它们进行处理的情况。
然而,申请人相信还有改进现有基于平铺显示的绘制系统的空间。
根据本发明的第一方面,提供一种用于分类要在图形处理系统中进行处理的图形数据的设备,其中待绘制的场景被分成多个绘制子区域,所述设备包括:
用于将涉及或者关联于待绘制场景中的一个或多个地点的图形描述符分类到所述场景被划分成的一个或多个子区域中的装置。
根据本发明的第二方面,提供一种用于分类要在图形处理系统中进行处理的图形数据的方法,其中待绘制的场景被分成多个绘制子区域,所述方法包括如下步骤:
将涉及或者关联于待绘制场景中的一个或多个地点的图形描述符分类到所述场景被划分成的一个或多个子区域。
根据本发明的第三方面,提供一种用于处理要在图形处理系统中进行处理的图形数据的设备,其中待绘制的场景被分成多个绘制子区域,所述设备包括:
用于将涉及或者关联于待绘制场景中的一个或多个位置的图形描述符关联到所述场景被划分成的一个或多个子区域的装置。
根据本发明的第四方面,提供一种用于处理要在图形处理系统中进行处理的图形数据的方法,其中待绘制的场景被分成多个绘制子区域,所述方法包括如下步骤:
将涉及或者关联于待绘制场景的一个或多个地点的图形描述符关联到所述场景被划分成的一个或多个子区域。
根据本发明的第五方面,提供一种用于分类要在图形处理系统中处理的图形数据的设备,其中待绘制的场景被分成多个绘制子区域,所述设备包括:
用于为场景可以被分成的一个或多个子区域准备图形描述符列表,例如并且优选为处理的装置,每个图形描述符是除了待绘制的场景的一个图元之外的元素。
根据本发明的第六方面,提供一种用于分类要在图形处理系统中处理的图形数据的方法,其中待绘制的场景被分成多个绘制子区域,所述方法包括如下步骤:
用于为场景可以被分成的一个或多个子区域准备图形描述符列表,例如并且优选为处理,每个图形描述符是除了待绘制的场景的一个图元之外的元素。
本发明致力于一种基于平铺显示的绘制系统(即其中待绘制的场景被分成多个子区域)。然而,不同于现有技术中的基于平铺显示的绘制系统,场景要绘制的基本图元,诸如“简单的”多边形,例如三角形,四边形,直线或者点等等,是以本发明中的(即场景的最小“多边形”描述)非简单的图元可以实现的并且在逐个平铺显示(逐个子区域)上被分类的,以及放置在(包括在)“平铺显示列表”中的其它图形描述符形式来描述,而不是简单地分类到“平铺显示”并且包括在“平铺显示列表”中。
申请人已经意识到,不仅分类描述和定义要绘制到平铺显示中的场景的基本、简单的图元,而且分类其它形式的场景(图形)描述(描述符)是很有优势的。
例如,可以作为替换或者同时(有选择地)将代表共有的多个单个图元的图形描述符,诸如绘图调用,存储在平铺显示列表中,然后其允许用于平铺显示列表的存储量,例如变化和/或减少。因此本发明可以易于更最好地控制和了解平铺显示列表处理的存储器使用需求。这在图形系统中是有益的,尤其是在它们将要在更多限制的设备上实现的情况下,诸如便携式设备(例如移动电话,PDA,手持设备等等)。
申请人还意识到,除了对单个图元之外还对图形描述符进行一个或多个平铺操作可以提供其它优势。例如,它可以允许以这些其它图形描述符的形式分类和淘汰图形数据。
还意味着,平铺操作本身时间较短并且处理资源集中,以及因此可以,例如更容易执行,例如为了粗略的初级分类图形数据(描述)的目的。例如,它可以用于进行图形数据的初始粗略的平铺,例如以较大的图形描述符标准,来看例如是否有任何图形描述符会立即从进一步处理中被丢弃(淘汰),而无需为此准备基本图元级别的平铺显示列表。
因此本发明有利于,例如淘汰和/或隐藏表面去除的形式,例如并且优选的是,在绘制之前。
待绘制的场景被划分成的子区域(平铺显示)可以是任何适当的和期望的这种子区域。它们优选为都是相同大小与形状(即优选的是使用均匀的大小与形状的平铺显示),正如本领域所熟知的那样,尽管这不是必要的。子区域优选为正方形或者矩形。子区域的大小和数目可以根据需要选择。在优选配置中,每个子区域(平铺显示)是大小为16×16或者32×32的分段(然后根据正在使用的显示(帧)大小所需将场景分成许多这种的子区域)。
在优选的实施例中,可以为单个子区域和/或为包括一个以上子区域的一个或多个子区域集合准备平铺显示列表(图形描述符列表)。在为一个以上子区域的集合准备平铺显示列表(图形描述符列表)(公共存储的平铺显示列表)的情况下,一个以上子区域的集合优选为包括整数个子区域,并且优选的是包括一组连续的子区域。
被分到子区域中和/或为子区域列出的等等的图形描述符,可以是任何适当的和期望的这种描述符。正如本领域技术人员所能理解的,它们应该是除了可以和将用于为实际的绘制处理来描述场景的简单的基本图元,诸如简单多边形,诸如三角形,四边形,直线或者点之外的元素(并且因此不会是简单图元的形式,诸如三角形,直线,四边形或者点)。
同样地,图形描述符应该具有或者包括具有某种形式的,或者特定的或者可选的等等,在和它们相关联的待处理的场景中的位置或地区(地点)的描述(例如,并且优选为,有关或者就是待绘制的场景(一部分)中的元素)(实际上该特性使得更适合和需要通过它们在场景中的地点分类它们)。因此图形描述符优选为包括或者具有与它们相关联的几何形状和/或信息,其将场景中的位置或者地点传送到图形处理的一个后续阶段或多个阶段。
实际上,本发明可以应用于将位置信息(与位置相关联的)传送到图形处理的任何图形描述符,诸如定义图形处理(过程)应该在哪儿执行,一个或多个对象应该在哪儿绘图等之类的描述符。
在一个优选实施例中,图形描述符包括将在给定的,特定场景位置或者区域中执行的某种形式的图形处理(过程)的描述,诸如应该在特定地区或者区域中或者场景的地点触发的特定图形过程或者处理的指示。
例如,图形描述符可以定义例行程序或者过程,诸如用于在待绘制的场景中的给定地点上生成(让系统生成)一组图元的程序。例如,它们可以包括过程化绘图调用。
在优选的实施例中,图形描述符表示或者包括将要绘制的对象,但是以除了简单多边形或者图元之外的形式。因此在优选的实施例中,图形描述符包括图象对象,但不是单个简单图元的图形对象。
例如,图形描述符还可以或者替代地,并且优选的包括例如要绘制的对象的更高级别或者更高标准的,例如待绘制的对象的描述,例如,而且优选为,在它被转换为图元(例如三角形)表示之前的对象描述。
这种待绘制对象的更高级别或者更高标准描述的例子是对象的光滑表面表示(例如在此“对象”包括平滑的,例如弯曲的,表面)。在此情况下,场景中的光滑表面的光滑表面描述符可以按本发明的方式被分类。
可以采用本发明的另一个形式的图形对象更高级别的定义是让图形系统如何在场景中的给定地点上生成一组图元的程序或者过程。
因此在优选的实施例中,一个或多个图形描述符包括待绘制对象的非图元的和/或预图元描述,例如,并且优选为在对象的“图元”描述存在之前用于一个或多个该对象。换言之,在优选的实施例中,图形描述符包括待绘制的对象的前身描述符(描述)(即在对象的图元级别描述之前的描述)。在这些情况下,图形描述符将表示待绘制的对象并且到目前为止可能还没有该对象的“图元级别”或者基于图元的描述,而是图形描述符将及时地被转换为该对象的基于图元的描述,但该对象的基于图元的描述可能仍不存在。
这种基于非图元的图形描述符可以被认为,例如是“元图元”,例如其将要在适当时变换为“简单的”图元。
对于图形描述符也可以包括和/或表示多个图元的组或者集合,例如多个连续的三角形的集合。在此情况下,对象的图元级别的描述可以存在,相比于逐一地分类每个图元,可以一起分类图元组。实际上,这可以使得待绘制的对象的粗略表示被“平铺”,甚至该对象的“图元”描述可以存在。这种配置的例子是使用包括多个图元的边框作为按本发明的方式分类的图形描述符。
在优选的这种实施例中,一个或多个图形描述符包括绘图调用(或者多个绘图调用)。(正如在所属领域中已知的那样,在图形处理中图元通常组合为集合,例如,对于程序员打算一次作为整体一起绘制的特定场景区域。这种要被处理的图元组通常称为“绘图调用”)。因此在特定优选实施例中,场景的绘图调用被分类到平铺显示中(放入平铺显示列表中)。如果需要,这种配置中的绘图调用可以是过程化绘图调用(例如定义生成图元的过程的绘图调用)。
正如本领域技术人员所能理解的,在使用绘图调用时,例如,尽管任何给定绘图调用典型地表示并且包括多个图元,但也可以存在只包括或者表示简单图元的绘图调用。然而,这仍然在至少本发明的优选实施例的范围内,因为绘图调用是能够共同表示多个图元的图形描述,即使实际上它可能不是始终这样。
换句话说,正如本领域技术人员所能理解的,本发明的目的在于使用非简单的单个图元的(并且不同于待绘制对象的单个图元描述)图形描述符,而是或者包括,或者表示,或者可以共同代表多个图元,和/或待绘制对象或者待执行的图形处理的基于非图元的描述的图形描述符。
因此,在特定优选实施例中,图形描述符包括待绘制对象和/或待执行的图形处理的基于非图元的描述,和/或包括或者代表或者可以代表多个图元的待绘制的图形对象和/或待执行的图形处理的描述。
在优选的实施例中,为给定类型图形描述符准备平铺显示列表(图形描述符列表)。换句话说,给定类型的图形描述符,例如绘图调用,被分类到子区域(平铺显示)中。在一个优选实施例中,只有单个类型或者类别的图形描述符包括在任何给定列表中。
然而也能够在相同列表中包括不同类型的图形描述符,并且因此在另一个优选实施例中,每个不同类型的图形描述符可以包括在给定子区域的(或者子区域集合)列表(平铺显示列表)中。
如果需要,在平铺显示列表中也能够包括简单图元,例如简单多边形形式的图形图元,例如三角形,四边形,直线或者点,和其它图形描述符一起。(如果需要,本发明不排除另外(例如同时或者随后)准备要绘制的基本图形图元的平铺显示列表。)
例如,可以只为选择的子区域(平铺显示)准备图形描述符列表,但在优选的实施例中,为场景被划分成的每个子区域(平铺显示)准备图形描述符列表。
将图形描述符分类到子区域中,并且为子区域准备图形描述符列表可以以任何适当的和期望的方式执行。例如,早已知晓和用于分类和装仓图元到平铺显示列表中的任何技术,例如准确装仓,或者边框装仓或者两者之间的一切都可用于该处理。
因此,例如,初始确定图形描述符将要被处理的子区域可以基于场景中图形描述符的确定地点执行(这个地点可以是,例如图形描述符的精确地点或者基于例如环绕图形描述符的边框的图形描述符的近似地点,正如在本领域中已知的那样),并且然后图形描述符被列在一些或者所有子区域中,其确定地点表明它应该在此被绘制。例如并且优选为,为场景中的每个图形描述符重复这些步骤从而为该场景准备图形描述符列表的完整集合。
因此在优选的实施例中,确定场景中给定图形描述符的地点并且与该场景被划分的子区域和/或多个子区域的集合相比,以确定可以或者应该为哪些子区域和多个子区域的集合处理图形描述符(例如出现(落入)在内)。
在这些配置中,可以根据需要得出图形描述符的地点,例如并优选为从图形描述符的地点或者位置数据或者与图形描述符相关联的地点或者位置数据得出。同样地,子区域的位置可以以任何期望的并且适当的方式得出。在适当的情况下,在描述符被分类到子区域等等之前,图形描述符的任何位置或者地点或者与图形描述符相关联的任何位置或者地点,优选地转换为当其要被绘制时该场景的该描述符具有的位置,以便帮助确保它是所考虑的描述符的“最终的”,正确的位置。
在哪里要使用边框技术,那么能够根据需要并在那里生成边框。例如,正如本领域中所熟知的,边框可以基于每个图形描述符而生成,或者基于多个图形描述符的一个或多个集合而生成。例如,边框可以,例如,由主机系统上的图形处理器API或者驱动器生成。
单个图形描述符列表和它们中的图形描述符可以以任何期望的和适当的方式设置并且包括任何期望的和适当的数据。该列表优选为按照本领域中已经用于的这种或者类似的图形描述符、平铺显示列表等等的相同或者类似方式设置并包含数据。
一旦图形描述符已被选出并且已为如上所述的子区域准备了图形描述符列表,那么这些信息就可以被用来处理图形描述符(并且,例如它们代表的图元的)。这种处理可以包括任何适当的和期望的处理。
在一个优选实施例中,该处理包括绘制图形描述符。换句话说,它包括当绘制场景时使用图形描述符列表,并且优选为确定需要为每个子区域处理(绘制)哪些图形描述符(以及例如图元)。
该绘制处理可以并且优选为与现有的基于平铺显示的绘制系统类似的方式执行。因此优选为分别地处理和绘制现每个子区域(平铺显示),即一个接一个地绘制单独的各个子区域。该绘制可以以任何期望的方式执行,例如,通过连续地或者以并行的方式绘制各个子区域。一旦已经绘制了所有子区域(平铺显示),那么可以在例如帧缓冲器中将它们重新结合以进行显示,正如在本领域中已知的那样。
在另一优选实施例中,图形描述符列表等此外还或者替代的用于在绘制场景之前执行(例如并且优选为开始的)淘汰操作(例如隐藏面去掉),例如并且优选为从(将来的)处理中去掉可以确定不会在将要显示的场景中看到的图形描述符。这种淘汰可以包括例如确定是否有任何图形描述符将落在场景的可视区域之外(在这种情况下它们可以被抛弃)。当然还可以使用或者替换更加复杂的淘汰配置。
在优选的这种实施例中,图形描述符的位置或者地点与场景的一个或多个区域或者子区域的位置或者地点等等相比较。
如上所述,本发明可以便于这种操作,如分类或者平铺显示例如更大的图形对象,而不是单个图元,可以不强化处理等等。
尽管已经特别地参照场景将被划分成用于绘制的子区域(平铺显示)来分类图形描述符等描述了本发明,但是正如本领域技术人员所能理解的,如果需要可以对于场景的其他区域执行这种分类。例如在淘汰操作的情况下,可能只需要比较图形描述符的位置与场景的可视区域(来看,例如是否有任何描述符全部落在场景的可视区域以外)。
因此,根据本发明的第七方面,提供一种用于在图形处理系统中分类用于处理的图形数据的设备,所述设备包括:
用于将涉及或者与待绘制场景中的一个或多个地点相关联的图形描述符分类到该场景的特定区域或者子区域中的装置。
根据本发明的第八方面,提供一种在图形处理系统中分类用于处理的图形数据的方法,所述方法包括如下步骤:
将涉及或者与待绘制场景中的一个或多个地点相关联的图形描述符分类到该场景的特定区域或者子区域中。
根据本发明的第九方面,提供一种用于在图形处理系统中处理用于处理的图形数据的设备,所述设备包括:
用于将涉及或者与待绘制的场景中的一个或多个地点相关联的图形描述符与该场景的特定一个特定区域或多个区域或者一个或多个子区域相关联的装置。
根据本发明的第十方面,提供了一种在图形处理系统中处理用于处理的图形数据的方法,所述方法包括如下步骤:
将涉及或者与待绘制的场景中的一个或多个地点相关联的图形描述符与该场景的一个特定区域或多个区域或者一个或多个子区域相关联。
根据本发明的第十一方面,提供一种在图形处理系统中处理用于处理的图形数据的设备,所述设备包括:
用于为待绘制的场景的一个或多个区域或者子区域准备图形描述符列表,例如并且优选为以用于处理的装置,每个图形描述符是除了待绘制现场景的单个图元之外的元素。
根据本发明的第十二方面,提供了一种在图形处理系统中处理用于处理的图形数据的方法,所述方法包括如下步骤:
为待绘制的场景的一个或多个区域或者子区域准备图形描述符列表,例如并且优选为以用于处理,每个图形描述符是除了待绘制场景的单个图元之外的元素。
根据本发明的第十三方面,提供一种在图形处理系统中处理用于处理的图形数据的设备,所述设备包括:
用于比较待绘制场景的图形描述符的位置或地点与该场景的一个特定或者所选区域或多个区域或者一个或多个子区域的位置或定位的装置。
根据本发明的第十四方面,提供了一种在图形处理系统中处理用于处理的图形数据的方法,所述方法包括如下步骤:
比较待绘制场景的图形描述符的位置或地点与该场景的一个特定或者所选区域或多个区域或者一个或多个子区域的位置或定位。
正如本领域技术人员所能理解的,本发明的这些方面和实施例可以并且优选为视情况而包括如本文所述的本发明的所有优选和可选特性的任何一个或多个。因此,例如,图形描述符可以采用上述的任何形式。同样地,图形描述符被分类成的场景的被选的一个或多个区域优选为包括场景将要为绘制目的而划分的子区域(平铺显示),尽管不必这样,如果需要,例如区域还可以或者替代为涉及该场景的可视和不可视区域等等。
本发明的多个功能可以以任何期望的和适当的方式执行。在特定优选实施例中,它们是在生成与输出图形数据的单个图形处理平台上执行的,所述图形数据被写入显示设备的帧缓冲器中。根据需要所述功能可以用硬件或者软件实现。在优选的实施例中,该系统实现为硬件元件(例如ASIC)。因此,在另一个方面本发明包括具有本文所述的本发明任何一个或多个方面的设备的硬件元件,或者根据本文所述的本发明的任何一个或多个方面的方法运行的硬件元件。
这里还应注意的是,正如本领域技术人员所能理解的,在给定处理器上可以并行地复制和/或执行本发明的多个功能等等。
本发明适用于任何形式或者配置的图形处理器和绘制器,例如具有“流水线”配置的绘制器(在这种情况下绘制器将是绘制流水线的形式)。
正如从以上所述可以理解的,本发明尤其,尽管不唯一,适用于3D图形处理器和处理设备,并且从而扩展到包括本文所述的本发明的任何一个或者多个方面的设备的,或者根据本文所述的本发明的任何一个或者多个方面的方法运行的3D图形处理器和3D图形处理平台。根据执行上述特定功能所需的任何硬件,这种3D图形处理器可以另外包括3D图形处理器包括的常用功能部件的任何一个或多个或全部等等。
本领域技术人员还能理解的是,本发明描述的所有方面和实施例可以视情况而包括本文所述的优选和可选特性的任何一个或多个或全部。
依照本发明的方法可以至少部分地使用软件,例如计算机程序实现。因此从其他方面来看可以看出,本发明提供了当安装在数据处理装置上时具体用于执行本文所述方法的计算机软件,计算机程序元件包括计算机软件代码部分,用于当程序元件在数据处理装置上运行时执行本文所述的方法,并且计算机程序包括代码装置用于当该程序在数据处理系统上运行时执行本文所述一种或多种方法的所有步骤。本发明还提供一种计算机软件载体,其包括这样的软件,其当用于运行图形处理器、绘制器或者包括数据处理装置的微处理机系统时令所述数据处理装的所述处理器、绘制器或者系统共同执行本发明方法的步骤。这种计算机软件载体可以是物理存储器介质,例如ROM芯片,CDROM或者磁盘,或者可以是信号,例如经由线路的电子信号、光学信号或者例如到卫星的无线电信号或类似信号。
可以进一步理解的是,不是本发明的方法的所有步骤都需要通过计算机软件执行,并且因此从更宽泛的方面来说,本发明提供了计算机软件而且这种软件安装在计算机软件载体上用于执行本文所述方法的最少其中一个步骤。
因此本发明可以适当地体现为与计算机系统一起使用的计算机程序产品。这种实现方式可以包括或者固定在有形介质,诸如计算机可读介质,例如软盘,CD-ROM,ROM,或者硬盘上的一系列计算机可读指令,或者经由调制解调器或者其他接口设备,在有形介质之上包括但不限于光学或者模拟通信线路,或者无形地使用无线技术,包括但不限于微波,红外或者其它传送技术,可传送到计算机系统的一系列计算机可读指令。一系列计算机可读指令包含本文以前所述的所有或者部分功能。
本领域技术人员将理解的是,这种计算机可读指令可以利用多种编程语言编写以用于多种计算机体系结构或者操作系统。而且,这种指令可以使用任何现有的和未来的存储技术存储,包括但不限于半导体,磁性,或者光学,或者使用任何现有或者未来的通信技术进行传输,包括并不局限于光学,红外或者微波。设想这种计算机程序产品可以利用附有打印或者电子文档的可移除介质分送,例如收缩性薄膜包装的软件,预先载入计算机系统,例如在系统ROM或者硬盘上,或者从网络的,例如因特网或者万维网服务器或者电子公告板分送。
附图说明
以下将参照附图并且只以举例说明的方式描述本发明的多个优选实施例,其中:
图1示意性地示出了基于平铺显示的图形处理布置;
图2示意性地示出了可以依照本发明运行的图形处理器的配置;以及
图3示出了待显示的图元的示例性场景。
具体实施方式
现在将参照附图2和3描述本发明的优选实施例。
在本实施例中,被平铺并且列在平铺显示列表中的图形描述符包括绘图调用形式的图形对象。然而,如上所述,其他配置当然也是可行的。
图2示意性地示出了可以依照本发明运行的图形处理器。图形处理器20包括几何结构处理器21和绘制器22,其中两者都可以访问存储器23。正如在本领域中已知的那样,存储器23可以与几何结构处理器21和绘制器22一起都在“芯片上”,或者可以是可以由几何结构处理器21和绘制器22访问的外部存储器。
如图2所示,存储器23存储原始几何学数据24的集合(例如,正如在本领域中已知的那样,其是由图形处理器驱动器或者图形处理器20的主系统(微处理器)上运行的API提供的),转换的几何学数据25的集合(其是在原始几何学数据24上执行多个变换和处理操作的结果,正如在本领域中已知的那样),和图形对象(描述符)列表26的集合。图形对象列表26是依照本发明而准备的。下面将比较详细地描述该过程。
转换的几何学数据25包括例如转换的顶点(顶点数据)等,正如在本领域中已知的那样。
几何结构处理器21特别包括可编程的顶点渐变器27和图形对象(描述符)列表构造单元28。可编程的顶点渐变器27采用存储在存储器23中的原始几何学数据24作为输入,并且处理该数据以提供转换的几何学数据25(然后其存储在存储器23中),所述几何学数据25包括具有适于在待显示的帧中的2D布置的形式的几何学数据。可编程的顶点渐变器27和它执行的处理可以采用任何适当的形式并且是本技术领域已知的任何适当的和期望的这种处理。
图形对象列表构造单元28执行本发明将图形对象(在当前情况下描述符是绘图调用)分配给图形对象(描述符)列表的处理,然后图形对象列表由绘制器22用于识别应该为待绘制的场景的每个子区域绘制的图形对象(描述符)。为此,图形对象列表构造单元28采用来自可编程的顶点渐变器27的经转换和处理的顶点数据(即场景中图形对象的位置)作为它的输入,使用该数据构造图形对象(平铺显示)列表,并将那些列表作为图形对象列表26存储在存储器23中。
绘制器22包括图形对象(描述符)选择单元29,图形对象列表高速缓存器30,顶点选择单元31,顶点数据高速缓存器32,栅格化单元33,绘制单元34和平铺显示缓存器35。
在此实施例中,栅格化单元33,绘制单元34,平铺显示缓存器35以这些单元在现有图形处理系统中运行的相同方式运行。因此栅格化单元33采用图元及其顶点作为它的输入,将该图元栅格化为分段,并且将这些分段提供到绘制单元34。然后绘制单元34在该分段上执行多个绘制处理,例如纹理映射,混合,明暗处理等等,并且生成绘制的分段数据,该分段数据存储在平铺显示缓存器35中以提供给帧缓冲器用于显示。
绘制器22的图形对象选择单元29确定下一个将要绘制哪个图形对象(在当前情况下是绘图调用)及其图元。它通过考虑存储在存储器23中的图形对象列表26,以及从这些列表的其中一个选择下一个待绘制的图形对象(绘图调用)来实现这一点。
图形对象选择单元29还可以将一个或多个图形对象列在图形对象列表高速缓存器30中。
图形对象选择单元29将已选择用于下一个绘制的图元提供到顶点选择单元31。响应于此,顶点选择单元31从存储在存储器23中的经转换的几何学数据25中检索该图元的适当转换的顶点数据,然后将该图元(即它的转换的顶点数据)提供到栅格化单元33进行处理。如果需要,顶点选择单元31可以将它从存储器23中检索出的顶点数据缓存到顶点数据高速缓存器32中。
图3示出了将用作本发明实施例描述的显示的示例性场景的待显示示例性场景。
正如从图3可以看到的那样,场景50包含四个图元,其分组为两个“绘图调用”,绘图调用1和绘图调用2。图元0,1和2被分组为绘图调用1,而图元3属于绘图调用2。(正如本领域所熟知的,将图元分组为“绘图调用”的基本意思是应用程序设计员希望绘图调用中的所有图元能够被一次绘图,通常是出于性能原因。相同绘图调用中的图元组通常共享相同的状态和明暗渐变器程序数据。)
这里还应该注意,鉴于存在两个独立的绘图调用,而图元2在一个绘图调用中,图元3在另一个绘图调用中这一事实,在图3中示出的顶点8无法共用于图元2和图元3,而是表示为具有相同的顶点位置和顶点属性的两个不同的顶点。
如图3所示,待绘制的场景50被分成多个单一子区域或者平铺显示51。
(正如本领域技术人员所能理解的,实际上任何待绘制的给定场景将典型地包括比在图3中示出的四个图元和两个绘图调用更多的图元和绘图调用。然而出于简明和清楚的目的,图3只示出了四个图元和两个绘图调用。)
在本实施例中,图形对象列表构造单元28确定每个绘图调用(图形描述符),绘图调用1和绘图调用2的地点,并且为绘图调用所属的每个子区域(平铺显示)列出图形对象(描述符)列表中的绘图调用。这样,系统可以识别应该为每个子区域绘制哪些绘图调用(图形描述符)。
例如,这一点可以利用准确装仓技术实现,在这种情况下图形对象列表构造单元28使用由可编程的顶点渐变器27为给定绘图调用提供的确定的转换的顶点位置来识别该绘图调用属于(横穿)哪些子区域和子区域集合。
正如本领域技术人员所能理解的,如果需要可以使用用于确定和定位在场景内和与子区域(平铺显示)51有关的绘图调用的其它技术。例如,边框技术可以同样地使用,正如在本领域中已知的那样。图3示出了绘图调用,绘图调用1和绘图调用2的示例边框52,53。(如果使用边框技术,那么例如通过图形对象列表构造单元产生边框作为图形对象(描述符)列表过程的一部分是优选的,不过当然其他配置也是可以的。)
接着图形对象列表构造单元28为待绘制的场景中的每个图形对象(绘图调用)重复这些处理,直到为待绘制的场景被分成的每个子区域生成了完整的图形对象列表26(图形对象(描述符)的列表)。
图形对象列表构造单元28依照它从可编程的顶点渐变器27接收这些图形对象的顺序将图形对象(描述符)放在图形对象列表26中。这意味着,就涉及的每个单个图形对象列表26来说,列表中的图形对象(描述符)是依照它们被生成的顺序,正如在本领域中已知的那样,该顺序典型地将相应于绘制图形对象的所期望的顺序。
如上所述,绘制器22还包括图形对象列表高速缓存器30和顶点数据高速缓存器32。正如在本领域中已知的那样,这些高速缓存器包括绘制器22上提供的局部存储器,其可以比主存储器23更快速地被绘制器的处理单元(并且具体来讲分别是图形对象选择单元29和顶点选择单元31)访问。
图形对象选择单元29被配置为在图形对象列表高速缓存器30中存储它从主存储器23中读取的一个或多个图形对象列表26。
顶点选择单元31同样可以在顶点数据高速缓存器32中高速缓存它从存储器23中的转换的几何学数据25中检索的顶点数据,而且尤其是在可以识别出为图元再次需要顶点数据的情况中。
尽管以上参考使用图形对象(描述符)列表描述了实施例以表明待绘制的图元的绘制过程,但是这些列表还可以或者替代地用于其它目的,诸如执行图形数据和描述符的(例如初始)淘汰,和/或隐藏表面排除。
正如本领域技术人员所能理解的,根据需要本实施例(以及本发明)可以在任何基于平铺显示的绘制系统中实现。本实施例和本发明的多个组件与功能同样可以根据需要并且使用本领域已知的任何适用技术来实现。
从以上可以看出,在本发明,至少是在其优选实施例中,为基于平铺显示的绘制系统提供了图形数据的列表和分类配置,其可以例如易于更好地控制和了解平铺显示列表(图元分类(装仓))处理的存储器使用和需要和/或提供更容易地从后续处理去除(淘汰)数据的机会。
在资源和存储器需求可能例如被限制的设备的情况中,例如在嵌入式设备和/或便携式设备,诸如移动电话等,这会特别有用。
在本发明的优选实施例中,这是至少通过将不仅仅是基本简单的图元的图形描述符(描述)分类到平铺显示列表中(基于逐个子区域)来实现的。

Claims (14)

1.一种用于在图形处理系统中分配用于处理的图形数据的设备,该设备包括:
用于将涉及待绘制的场景中的一个或多个地点或者使待绘制的场景中的一个或多个地点与其相关联的图形描述符分配到所述场景的特定区域或者子区域中的装置,所述图形描述符包括描述用于绘制的场景并在场景中具有相关联的位置的对象;和
用于为待绘制的场景的一个或多个区域或者子区域准备图形描述符列表的装置,每个图形描述符是除了待绘制的场景的单个图元之外的元素;
其中图形描述符包括下述中的一个或多个:
要在特定场景地点或者区域中执行的图形处理的指示,
待绘制的对象的更高级别或者更高标准描述和/或预图元描述,
多个图元的组或者集合,和
绘图调用。
2.如权利要求1所述的设备,其中场景的区域或者子区域包括为绘制目的将该场景分成的子区域。
3.如权利要求1所述的设备,其中场景的区域或者子区域包括场景的可视和非可视区域。
4.如权利要求1所述的设备,包括用于准备将用于共有的一个以上的子区域或者区域的图形描述符列表的装置。
5.如权利要求1所述的设备,包括用于当绘制用于显示的场景时使用所分配的图形描述符和/或图形描述符列表的装置。
6.如权利要求1所述的设备,包括用于使用所分配的图形描述符和/或图形描述符列表来在绘制场景之前执行淘汰操作的装置。
7.如权利要求1所述的设备,所述设备还包括:
用于将待绘制的场景的图形描述符位置或地点与该场景的特定或者被选择的一个区域或多个区域或者一个或多个子区域的位置或地点进行比较的装置。
8.一种在图形处理系统中分配用于处理的图形数据的方法,所述方法包括如下步骤:
将涉及待绘制的场景中的一个或多个地点或者使待绘制的场景中的一个或多个地点与其相关联的图形描述符分配到所述场景的特定区域或者子区域中,所述图形描述符包括描述用于绘制的场景并在场景中具有相关联的位置的对象;和
为待绘制的场景的一个或多个区域或者子区域准备图形描述符列表,每个图形描述符是除了待绘制的场景的单个图元之外的元素;
其中图形描述符包括下述中的一个或多个:
要在特定场景地点或者区域中执行的图形处理的指示,
待绘制的对象的更高级别或者更高标准描述和/或预图元描述,
多个图元的组或者集合,和
绘图调用。
9.如权利要求8所述的方法,其中场景的区域或者子区域包括为了绘制目的将该场景分成的子区域。
10.如权利要求8所述的方法,其中场景的区域或者子区域包括场景的可视和非可视区域。
11.如权利要求8所述的方法,包括准备将用于共有的一个以上的子区域或者区域的图形描述符列表。
12.如权利要求8所述的方法,包括当绘制用于显示的场景时使用所分配的图形描述符和/或图形描述符列表。
13.如权利要求8所述的方法,包括使用所分配的图形描述符和/或图形描述符列表在绘制场景之前执行淘汰操作。
14.一种3D图形处理器或者3D图形处理平台,包括如权利要求1至7中的任一项所述的、或者根据如权利要求8至13中的任一项所述的方法运行的设备。
CN 200710306692 2006-12-04 2007-12-04 用于处理图形的设备及其方法 Active CN101447091B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
JP2006-327341 2006-12-04
JP2006327341 2006-12-04
JP2006327341A JP2007157155A (ja) 2005-12-05 2006-12-04 グラフィックスを処理する方法および装置
GB0710795A GB0710795D0 (en) 2007-06-05 2007-06-05 Method of and apparatus for processing graphics
GB0710795.6 2007-06-05

Publications (2)

Publication Number Publication Date
CN101447091A CN101447091A (zh) 2009-06-03
CN101447091B true CN101447091B (zh) 2013-09-25

Family

ID=38318773

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 200710306692 Active CN101447091B (zh) 2006-12-04 2007-12-04 用于处理图形的设备及其方法

Country Status (3)

Country Link
JP (1) JP5336067B2 (zh)
CN (1) CN101447091B (zh)
GB (1) GB0710795D0 (zh)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB0524804D0 (en) 2005-12-05 2006-01-11 Falanx Microsystems As Method of and apparatus for processing graphics
US9965886B2 (en) 2006-12-04 2018-05-08 Arm Norway As Method of and apparatus for processing graphics
GB0900700D0 (en) 2009-01-15 2009-03-04 Advanced Risc Mach Ltd Methods of and apparatus for processing graphics
KR101609266B1 (ko) * 2009-10-20 2016-04-21 삼성전자주식회사 타일 기반의 랜더링 장치 및 방법
JP5115768B2 (ja) * 2010-04-14 2013-01-09 Necシステムテクノロジー株式会社 画像描画装置、画像描画方法およびプログラム
CN107103639B (zh) * 2010-06-30 2021-05-18 巴里·林恩·詹金斯 确定网格多边形或网格多边形的分段的集合的方法和系统
JP5664052B2 (ja) * 2010-09-15 2015-02-04 富士通セミコンダクター株式会社 グラフィック処理装置、及び、グラフィック処理プログラム
US9547930B2 (en) 2011-11-30 2017-01-17 Qualcomm Incorporated Hardware switching between direct rendering and binning in graphics processing
US9317948B2 (en) 2012-11-16 2016-04-19 Arm Limited Method of and apparatus for processing graphics
WO2014087572A1 (ja) * 2012-12-04 2014-06-12 パナソニック株式会社 領域分割描画装置及び領域分割描画方法
US10204391B2 (en) 2013-06-04 2019-02-12 Arm Limited Method of and apparatus for processing graphics
US9697640B2 (en) * 2014-04-21 2017-07-04 Qualcomm Incorporated Start node determination for tree traversal in ray tracing applications
GB2524120B (en) * 2014-06-17 2016-03-02 Imagination Tech Ltd Assigning primitives to tiles in a graphics processing system
SG11201610041TA (en) * 2014-06-30 2016-12-29 Intel Corp Adaptive partition mechanism with arbitrary tile shape for tile based rendering gpu architecture
GB2553744B (en) 2016-04-29 2018-09-05 Advanced Risc Mach Ltd Graphics processing systems
EP3291083A1 (en) * 2016-09-06 2018-03-07 Siemens Aktiengesellschaft Method of displaying data of a data processing system, data processing system operating according to the method and computer program implementing the method
KR20180050124A (ko) 2016-11-04 2018-05-14 삼성전자주식회사 가속 구조를 생성하는 방법 및 장치
CN106683033B (zh) * 2016-12-12 2020-09-22 中国航空工业集团公司西安航空计算技术研究所 一种乱序OpenGL接口处理方法
US10546365B2 (en) * 2017-03-27 2020-01-28 Advanced Micro Devices, Inc. Single pass flexible screen/scale rasterization
CN107122176B (zh) * 2017-03-31 2020-08-04 武汉斗鱼网络科技有限公司 一种图形绘制方法及装置
CN117215592B (zh) * 2023-11-07 2024-02-20 芯瞳半导体技术(山东)有限公司 渲染程序生成方法、装置、电子设备和存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1655144A (zh) * 2004-02-13 2005-08-17 富士通株式会社 图形比较装置及方法
WO2006031053A2 (en) * 2004-09-13 2006-03-23 Lg Electronics Inc. Recording medium, method for searching contents recorded within the recording medium, and method and apparatus for reproducing the recorded contents
WO2006051330A1 (en) * 2004-11-15 2006-05-18 Arm Norway As Processing of 3-dimensional graphics
CN1795478A (zh) * 2003-12-18 2006-06-28 1626628安大略有限公司 绘制地图的系统、设备及方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6771264B1 (en) * 1998-08-20 2004-08-03 Apple Computer, Inc. Method and apparatus for performing tangent space lighting and bump mapping in a deferred shading graphics processor
US6819321B1 (en) * 2000-03-31 2004-11-16 Intel Corporation Method and apparatus for processing 2D operations in a tiled graphics architecture
JP4467267B2 (ja) * 2002-09-06 2010-05-26 株式会社ソニー・コンピュータエンタテインメント 画像処理方法、画像処理装置、および画像処理システム
GB0307095D0 (en) * 2003-03-27 2003-04-30 Imagination Tech Ltd Improvements to a tiling system for 3d rendered graphics

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1795478A (zh) * 2003-12-18 2006-06-28 1626628安大略有限公司 绘制地图的系统、设备及方法
CN1655144A (zh) * 2004-02-13 2005-08-17 富士通株式会社 图形比较装置及方法
WO2006031053A2 (en) * 2004-09-13 2006-03-23 Lg Electronics Inc. Recording medium, method for searching contents recorded within the recording medium, and method and apparatus for reproducing the recorded contents
WO2006051330A1 (en) * 2004-11-15 2006-05-18 Arm Norway As Processing of 3-dimensional graphics

Also Published As

Publication number Publication date
GB0710795D0 (en) 2007-07-18
JP5336067B2 (ja) 2013-11-06
CN101447091A (zh) 2009-06-03
JP2008165760A (ja) 2008-07-17

Similar Documents

Publication Publication Date Title
CN101447091B (zh) 用于处理图形的设备及其方法
US9965886B2 (en) Method of and apparatus for processing graphics
US7283135B1 (en) Hierarchical tile-based data structure for efficient client-server publishing of data over network connections
EP2954468B1 (en) Providing indoor facility information on a digital map
CN104036537A (zh) 多分辨率一致光栅化
KR100956416B1 (ko) 3차원 지리 정보 클라이언트 장치와 서버 장치 및 이를포함한 3차원 지리 정보 시스템
CN101604454A (zh) 图形处理系统
US9355484B2 (en) System and method of tile management
JP2020074155A (ja) マップインターフェースにおける待ち時間の低減
US8294710B2 (en) Extensible map with pluggable modes
US10157442B1 (en) System and method for performing queries and displaying visual representations of their results using graphics processing units
US10319062B2 (en) Rendering map data using descriptions of raster differences
US20150332487A1 (en) Encoding polygon data for fast retrieval and rendering
CN106575442A (zh) 使用通过自适应着色的纹理查找的带宽缩减
US20150332481A1 (en) Indexed uniform styles for stroke rendering
CN115760940A (zh) 物体纹理处理方法、装置、设备及存储介质
CN111881230A (zh) 一种地图区域的渲染方法、装置及电子设备
JP2007109221A (ja) パーツ管理システム、パーツ管理方法、プログラムおよび記録媒体
CN110799969B (zh) 语义矢量片
CN107749074B (zh) 一种用于绘制地图的方法、装置和计算设备
US11348287B2 (en) Rendering of graphic objects with pattern paint using a graphics processing unit
US20230065027A1 (en) Gpu-based digital map tile generation method and system
Baek et al. An accelerated rendering scheme for massively large point cloud data
JP2022037082A (ja) 情報処理装置、情報処理方法およびプログラム
US9911205B1 (en) Visual continuity for arbitrary length stipple patterns

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant