CN101794456A - 用于处理图形的方法和装置 - Google Patents
用于处理图形的方法和装置 Download PDFInfo
- Publication number
- CN101794456A CN101794456A CN201010002994A CN201010002994A CN101794456A CN 101794456 A CN101794456 A CN 101794456A CN 201010002994 A CN201010002994 A CN 201010002994A CN 201010002994 A CN201010002994 A CN 201010002994A CN 101794456 A CN101794456 A CN 101794456A
- Authority
- CN
- China
- Prior art keywords
- pel
- tabulation
- block
- blocks
- distributed intelligence
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/005—General purpose rendering architectures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/40—Filling a planar surface by adding surface attributes, e.g. colour or texture
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G2360/00—Aspects of the architecture of display systems
- G09G2360/12—Frame memory handling
- G09G2360/122—Tiling
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Graphics (AREA)
- Image Generation (AREA)
- Processing Or Creating Images (AREA)
Abstract
本发明涉及用于处理图形的方法和装置,所述方法确定并存储将为待渲染的多个区块的集合渲染的图元的列表,以及确定并存储用于指示图元列表中的图元在下述区域中的分布的信息,其中该区域被正在为其制定列表的多个区块的集合涵盖。所述装置包括用于确定并存储将为待渲染的多个区块的集合渲染的图元的列表的装置;以及用于确定并存储用于指示图元列表中的图元在下述区域中的分布的信息的装置,其中该区域被正在为其制定列表的多个区块的集合所涵盖。
Description
技术领域
本发明涉及计算机图形处理系统,尤其是涉及基于区块(tile)的图形处理系统。
将特别地参照三维图形的处理来描述本发明,虽然如本领域的技术人员将认识到的那样,本发明也可同样地应用于二维图形的处理。
背景技术
如本领域中已知的那样,通常通过首先将要显示的场景划分成若干类似的基本成分(所谓的“图元”)以允许更容易地执行3D图形处理操作来执行3D图形处理。这些“图元”通常具有简单多边形的形式,诸如三角形。
通常使用从需要显示图形的应用程序(例如游戏)接收到的图形绘制指令(请求)由图形处理系统的应用程序界面来生成要显示的场景的图元。
在此阶段,通常由一组顶点来定义每个图元且每个图元被表示为该组顶点。图元的每个顶点具有与之相关的表示该顶点的一组数据(诸如位置、颜色、纹理坐标及其它属性数据)。此数据随后在例如光栅化和渲染顶点(与顶点相关的(多个)图元)以用于显示时使用。
一旦已生成并定义了场景的图元及其顶点,就可以由图形处理系统来对其进行处理以便例如在诸如屏幕或打印机之类的输出显示设备上显示场景。
此处理基本上包括确定覆盖将被显示的场景的采样点阵列中的哪些采样点被图元覆盖,并随后确定每个采样点应具有的外观(例如在其颜色等方面)以表示该采样点处的图元。这些处理一般分别被称为光栅化(rasterising)和着色(shading)。
所述光栅化处理确定应被用于图元的采样位置(即将被用来表示将被显示的场景中的图元的采样点的(x,y)位置)。这通常使用图元的顶点的位置来实现。
所述着色处理随后导出在采样点处显示图元(即对每个采样点进行“着色”)所必需的数据,诸如红色、绿色和蓝色(RGB)色值和“α”(透明度)值。如本领域中已知的那样,这可以包括应用纹理、将采样点数据值进行混合等等。
(在3D图形文献中,术语“光栅化”有时用来意指到样本位置的图元转换和着色两者。然而,在本文中“光栅化”将仅用来指示将图元数据转换成采样点地址。)
通常通过将采样点“表示”为通常称为“碎片”的离散图形实体来执行这些处理,在所述“碎片”上执行图形处理操作(诸如着色)。实际上,将由将被用来对正在讨论的采样点处的图元进行着色的碎片来表示每个采样点。碎片可以表示(与之相关的)单个采样点或多个采样点。所述“碎片”是通过着色处理(着色管线)的图形实体。
(因此,“碎片”有效地是(与之相关的)被内插到图元的一个或多个给定屏幕空间采样点的一组图元数据。其还可以包括对正在讨论的一个或多个采样点(碎片位置)处的图元进行着色所需的每图元及其他状态数据。可以合理地将每个图形碎片视为有效地等效于被处理的场景的“像素”)。
每个图形“碎片”可以对应于最终输出显示中的单个像素(画面元素)(因为由于像素在最终显示中是奇点,所以在图形处理器进行操作(渲染)的“碎片”与显示的像素之间可能存在一对一映射。)然而,情况可能是在碎片与显示像素之间不存在一对一的对应关系,例如在显示最终图像之前对渲染的图像执行诸如等比缩小之类的特定形式的后处理的情况下。
光栅化和着色处理的输出是被适当地着色的采样点的二维阵列,如本领域中已知的那样,该二维阵列随后可以被应用于显示屏或经由打印机来显示已被处理的场景(在显示之前经受图像的诸如下采样之类的任何后处理)。作为光栅化和着色处理的结果的输出采样点二维阵列可以被视为是“渲染目标”,因为其为渲染处理(光栅化和着色处理)作为其输出的位置阵列。实际上,光栅化和着色处理对对应于期望的输出图像区域的二维渲染目标进行“着色”。
许多图形处理系统使用所谓的“基于区块的”渲染。在基于区块的渲染中,将被用来显示场景(“渲染目标”)的渲染处理的二维输出阵列被细分或划分成用于渲染处理的多个较小子区域,通常称为“区块”。每个区块(子区域)被单独地(通常是一个接一个地)渲染。渲染的区块(子区域)随后被重组以提供例如用于显示的完整输出阵列(渲染目标)。
因此,可以将区块视为渲染处理进行操作的渲染目标区域的细分。在此类布置中,渲染目标区域(输出区域)通常被划分成尺寸和形状规则的区块(它们通常是例如正方形或矩形),但这不是必需的。
一般用于“区块化(tiling)”和“基于区块的”渲染的其它术语包括“分块(chunking)”(将子区域称为“块”)和“方块(bucket)”渲染。为方便起见在下文中将使用术语“区块”和“区块化”,但应理解的是这些术语意图涵盖所有替换和等效术语和技术。
此类基于区块的渲染的优点是其尤其能够减小图形带宽的主存储器(例如芯片外DDR-SDRAM)的量,并且节电。这是因为基于区块的渲染能够便于避免处理其中将不会出现图元的渲染目标区域(输出区域)的区域的图元。基于区块的渲染还增加空间局部性,这提高芯片上缓冲器和高速缓存的效率。
在基于区块的渲染系统中,因此通常期望能够识别并知道实际上存在于给定区块中的那些图元,以便例如避免不必要地渲染实际上未存在于区块中的图元。为了有利于此,已知的是为每个区块制定对于该区块而言将被渲染的图元的列表(例如其将出现在区块中)。此类“图元列表”(其也可以称为“区块列表”)识别(例如通过参考图元指示符)在对正在讨论的区块进行渲染以便显示时将处理的图元。
因此,为将被渲染的每个区块制定图元列表的处理基本上包括确定对于给定区块而言应渲染的图元。此处理通常通过确定(以期望的准确度水平)与正在讨论的区块相交(即其将(至少部分地)出现在正在讨论的区块内)的图元,并随后制定那些图元的列表以供图形处理系统将来使用。
(这里应注意的是,在图元落入多于一个的区块的情况下(情况常常如此),其被包括在其所落入的每个区块的区块列表中。而且,由于区块化处理中的有限准确度,所以某些图元可能被列在它们实际上不属于的区块的图元列表中。)
事实上,可以将每个区块视为具有图元仓(bin)(图元列表),被发现可能落入区块之内(即与区块相交)的任何图元被放置到该图元仓中。实际上,用这种方式逐个区块地对图元进行分类的处理一般称为“装仓(binning)”,且这样制定的图元列表一般称为“图元仓”。
为方便起见,术语“图元仓”在本文中将用于指示出于指示区块(或区块集)的待处理图元的目的而制定的图元列表。(实质上,如上文所讨论的,“区块”是渲染处理进行操作的渲染目标(输出)区域子区域(细分),且“图元仓”(图元列表)是图形“作业(job)”(例如图元)被分布到其中的渲染目标(输出)区域子区域(细分)以辅助渲染处理(“图元仓”有效地记录图形“作业”跨域输出渲染目标的区域的分布)。每个“图元仓”可以对应于单个区块,但如下文将进一步讨论的那样,图元仓对应于多个区块也是已知且可能的。)
如本领域中已知的那样,可以以变化的精度水平(例如根据装仓和渲染处理的不同部分的效率最优化)来执行确定对于任何给定区块而言应列出(渲染)的图元的处理。例如,以最精确的水平,可以精确地确定给定图元将至少部分地出现在哪些区块中,并随后将该图元包括在只用于那些区块的图元仓(图元列表)中。这一般称为“精确”装仓。
图1举例说明了精确装仓处理。如图1所示,要显示的场景1的输出形式(渲染目标区域)被分成十六个尺寸规则的渲染子区域或区块2。然后,对于该场景中的每个图元确定该图元实际上出现在(落入)哪个或哪些区块内。该图元被添加到发现其所落入的每个区块的图元仓(图元列表)。因此,以图1所示为例,图元3被添加到区块4的“图元仓”(图元列表)中,图元5被包括在区块6和7的图元仓中,图元8被包括在区块9、10、11和12的图元仓(图元列表)中,且图元13被包括在区块12的图元仓(图元列表)中。(这里应注意的是,图1出于明了的目的仅示出几个区块和图元。如本领域的技术人员将认识到的那样,在实际图形处理操作中,通常将存在很多的图元和区块。)
还已知,以比采用精确装仓实现的精度低的精度来制定“图元仓”(图元列表)。这可能对例如简化图元列表的制定有用。一种常见的“较低精度”装仓技术是“边界框”装仓。在这种情况下,围绕图元或一组图元绘制所谓的“边界框”,然后确定被该边界框覆盖的区块。然后为已被发现(至少部分地)被边界框覆盖的每个区块列出(装仓)该边界框所表示(即该边界框所包围)的一个或多个图元。
因此,该方案使用边界框来确定对于哪些区块而言给定的图元应该被列出以便渲染,而不是确定图元本身。这可能意味着例如可以为图元实际上未落入的区块列出图元以便渲染(例如,当边界框未充分紧密地或精确地包围图元时),但另一方面,以这种方式来使用边界框可以简化图元列表的制定。
一旦已经以这种方式为每个区块制定了将被渲染的图元的列表(图元仓),就存储该图元列表以供使用,例如以允许系统在渲染正在讨论的区块时识别需要考虑(并渲染)哪些图元。
已经发现此类基于区块的渲染方案很有效,因为它们能够例如帮助避免对于图元并未出现的、将被输出的场景的区域而言仍然处理图元。
如上文所讨论的,使用基于区块的渲染方案的一个结果是为每个区块保持对于该区块而言必须处理的图元列表的需求。对于必须被保持的每个此类图元列表而言,存在开销和成本。
此外,随着图形系统的帧缓冲器尺寸的增大,此要求正在变得日益繁重。例如,对于1080P(HDTV)显示格式,可能需要多于8000个区块(假设16×16采样位置区块)。这么多的区块的所有图元列表的尺寸很大。每个新的全屏图元将合计达8000个命令(取决于有多少必须为其列出图元的区块)。还存在保持到每个图元列表的指针的庞大开销。所有这些都严重影响性能。
降低这些成本的一种方式将是保持较少的图元列表(图元仓)。因此,已经提出了例如保持覆盖多于一个区块(比仅仅一个区块大的渲染目标(输出)区域)的图元列表(图元仓),诸如2×2或4×4区块组,而不是单个区块,以便减少给定数目的区块所需的图元列表(图元仓)的数目。
这减少了所使用的图元仓(图元列表)的数目,并因此降低了与保持图元仓(图元列表)相关的成本,诸如用于图元列表(图元仓)的存储要求和指针保持。
然而,本申请人已经认识到采用此方案的缺点在于:需要为图元仓(图元列表)所覆盖的每个区块读取图元仓(图元列表)中所列的每个图元的数据,即使该图元实际上并未存在于该图元仓所覆盖的所有区块中。(这是因为即使该图元可能由于未落在正在被处理的区块中而最初在渲染处理中被拒绝,仍然需要读出正在讨论的图元的图元数据以便能够确定该图元实际上是否落入正在讨论的区块中。)例如,对于覆盖N个区块的图元仓,将对图元仓中的每个图元的数据读取N次,即使该图元可能只位于该图元仓所覆盖的区块中的几个区块中。
因此,虽然使用表示较大渲染目标(输出)区域的图元列表(图元仓)能够降低与保持图元列表(图元仓)相关的成本,但其代价是可能在处理区块以便显示时导致更多次数的存储器访问。
这是不期望的,因为场景描述(包括图元列表(图元仓)和图元数据)通常将被存储在主存储器中,且在需要时需要由图形处理器从该主存储器中取出。
发明内容
因此,本申请人相信仍然存在改善基于区块的计算机图形渲染系统的余地。
根据本发明的第一方面,提供了一种生成数据集以便当在基于区块的图形处理系统中渲染用于显示的场景时使用的方法,该方法包括:
确定并存储将为多个区块的集合渲染的图元的列表;以及
确定并存储用于指示所述图元列表中的图元在渲染目标区域中的分布的信息,所述渲染目标区域被正在为其制定列表的所述多个区块的集合所涵盖。
根据本发明的第二方面,提供了一种用于生成数据集以便当在基于区块的图形处理系统中渲染用于显示的场景时使用的装置,该装置包括:
用于确定并存储将为多个区块的集合渲染的图元的列表的装置;以及
用于确定并存储用于指示所述图元列表中的图元在渲染目标区域中的分布的信息的装置,其中所述渲染目标区域被正在为其制定列表的所述多个区块的集合所涵盖。
本发明涉及基于区块的图形处理系统,且包括为多个区块的集合(即为大于单个区块的渲染目标(输出)区域)制定图元列表(图元仓)。这类似于上文所讨论的、其中为多个区块的集合制定图元列表的方案。
然而,在本发明中,除了为多个区块的集合制定图元列表之外,还制定并存储用于指示图元列表中的图元在该图元列表所涵盖的渲染目标区域(输出区域)(图元列表所对应的区块集合)内的分布的信息。
此图元分布信息随后将允许图形处理系统在其将渲染图元列表所对应的区块时,确定关于列表中的图元在列表所覆盖的区域中的分布的信息,并因此例如且优选地如下文将进一步讨论的那样,确定图元列表所覆盖的、实际上应为其处理每个图元的区域的特定子区域(例如区块)。
这随后将允许例如渲染处理避免处理图元列表中的、图元分布信息指示实际上未存在于图元列表所涵盖的给定的一个或多个区块中(需要被处理)的图元。(这与现有技术系统相反,如上所讨论的,在现有技术系统中,对于图元列表所涵盖的每个区块处理图元列表中的每个图元,即使该图元可能未落入图元列表所涵盖的所有区块中。)
实际上,本发明提供附加分布信息,其允许更好地确定应为哪些区块来处理列表中的每个图元。此信息随后可以用来在用于区块的渲染处理中跳过图元,如果正在讨论的区块实际上不需要该图元的话。
由于本发明允许图形处理系统在渲染用于显示的区块时更容易地省去或跳过图元列表中的图元,所以其能够减少当渲染用于显示的场景时可以执行的存储器访问的次数等,即使在为该场景制定的给定图元列表可以涵盖场景的多个区块的情况下也是如此。因此,本发明有利于涵盖待处理的场景的多个区块的图元列表(图元仓)的使用、但尤其是在这样做时(与现有技术系统相比)将减少存储器访问等例如以读取场景描述的次数。
减少所需的存储器访问的次数将降低图形处理器和存储器子系统在使用中所消耗的功率。其还降低存储器带宽要求,这有利于例如使用较低性能、较低功率的存储系统。所有这些在例如图形处理器的情况下是有利的,并且尤其是在诸如可以在便携式和移动设备中使用的嵌入式和/或较低成本、较低功率图形处理器的情况下及用于与所述嵌入式和/或较低成本、较低功率图形处理器一起使用是有利的。
此外,可以用仅仅相对次要的硬件和/或软件附加物(诸如用于处理本发明存储和使用的附加信息的少量附加逻辑)来实现本发明的附加特征和功能。这又使得本发明特别适于在较低成本、较低功率的、例如嵌入式图形处理系统中使用。
本发明还扩展至当渲染用于显示的场景时本发明的数据结构的使用,以及在图形处理系统中渲染区块或用于显示的场景的方法或装置。
因此,在优选实施例中,本发明的方法和装置包括以下步骤或用于以下各项的装置:
确定并存储将为待显示场景的多个区块的集合渲染的图元的列表;
确定并存储用于指示所述图元列表中的图元在渲染目标区域中的分布的信息,其中所述渲染目标区域被正在为其制定列表的所述多个区块的集合所涵盖;
使用所确定的图元列表来确定对于该图元列表所涵盖的区块而言将要处理的图元集合;
使用与所述图元列表相关的、所确定的图元分布信息来确定对于正在讨论的区块而言将要处理的图元列表中的图元集合中的图元;以及
处理所确定的图元以渲染区块以便显示。
同样地,根据本发明的第三方面,提供了一种在基于区块的图形处理系统中渲染用于显示的场景的方法,其中,制定对于多个区块的集合而言将要渲染的图元的列表,以及指示该图元列表中的图元在渲染目标区域中的分布的信息,所述渲染目标区域被该列表所对应的多个区块的集合所涵盖,该方法包括所述图形处理系统在其处理待显示场景的区块时:
使用涵盖正在讨论的区块的场景的图元列表,来确定将要为正在讨论的区块处理的图元集合;
使用与所述图元列表相关的图元分布信息,来确定将要为正在讨论的区块处理的图元列表中的图元集合中的图元;以及
处理所确定的图元以渲染区块以便显示。
根据本发明的第四方面,提供了一种基于区块的图形处理器,其中,制定对于多个区块的集合而言将要渲染的图元的列表,以及指示该图元列表中的图元在渲染目标区域中的分布的信息,所述渲染目标区域被该列表所对应的多个区块的集合所涵盖,所述图形处理器包括:
用于使用待显示场景的图元列表来确定将要为该场景的区块处理的图元集合的装置;
用于使用与所述图元列表相关的图元分布信息来确定将要为正在讨论的区块处理的图元列表中的图元集合中的图元的装置;以及
用于处理所确定的图元以渲染区块以便显示的装置。
本发明还扩展至在本发明中制定和使用的数据结构。
因此,根据本发明的第五方面,提供了一种供在基于区块的图形处理系统中使用的数据结构,包括:
将为多个区块的集合渲染的图元的列表;以及
用于指示该图元列表中的图元在渲染目标区域中的分布的信息,所述渲染目标区域被该图元列表所对应的多个区块的集合所涵盖。
在本发明中出于渲染的目的而将渲染目标(待渲染的场景的输出形式)划分成的区块可以是任何期望和适当的尺寸和形状。如本领域中已知的那样,所述区块优选地全部是相同的尺寸和形状,虽然这不是必需的。在优选方案中,每个区块的尺寸为16×16或32×32采样位置(例如碎片)。
为其制定图元列表(图元仓)的多个区块的集合可以是任何适当和期望的多个区块的集合。其优选地覆盖渲染目标区域的规则形状区域,诸如正方形或矩形,并优选地涵盖相邻的区块集合。在优选实施例中,所述多个区块的集合对应于2×2、或4×4、或16×16的区块分组。最优选地,整个渲染目标区域被划分成匹配的区块集合(例如2×2或4×4区块集合),并为每个此类区块集合制定图元列表(图元仓)。
可以以任何适当和期望的方式来执行图元到图元仓(图元列表)中的分类和图元列表的制定。例如,对于此处理,可以使用已知的且用于将图元分类并装仓到图元列表中的任何技术,诸如精确装仓、或边界框装仓、或两者之间的任何技术。优选地使用边界框装仓处理。
单独的图元仓(图元列表)及其中的图元等可以以任何期望和适当的方式来布置,且包括任何期望和适当的数据。该列表优选地以与本领域中已用于此类图形图元列表(图元仓)等类似的方式来布置和包含数据。
优选地,为图元仓中的每个图元列出图元信息组。在图元仓(图元列表)中为每个图元列出的图元信息可以是任何适当和期望的此类信息。因此,其可以并优选地确实包括图元类型指示符、到图元的顶点数据的指针或索引、以及图元的渲染状态信息中的一个或多个(其中,例如,使用诸如在本申请人的英国专利No.2420261中描述的系统)。
同样在本发明中确定和存储的图元分布信息可以是任何适当和期望的此类信息,即其将允许图形系统更精确地识别(以简单地高于图元列表所对应的多个区块的集合所涵盖的整个区域的分辨率)应该为所述多个区块的集合中的哪些区块处理给定的一个或多个图元。实质上,图元分布信息应为图元仓(列表)中的一个或多个图元、以及优选地为每个图元更准确地指示该一个或多个图元位于整个图元仓区域内的何处。
在特别优选的实施例中,所述分布信息指示图元位于图元仓区域的细分中的何处,且最优选地指示应该为图元仓(图元列表)所涵盖的渲染目标区域的一组子区域中的哪个子区域或哪些子区域处理列表(图元仓)中的一个或多个图元及优选地每个图元。
在一个特别优选的实施例中,分布信息所相关的子区域中的每个对应于单独的区块,从而使得实际上该分布信息直接指示在渲染场景时应该为图元列表所涵盖的多个区块中的哪个区块或哪些区块处理所述图元或每个图元。
然而,还有可能的是,分布信息所相关的子区域本身对应于多个区块。例如,覆盖4×4区块组的图元列表可被细分成四个2×2区块子区域(每个表示列表区域的四分之一),或者事实上细分成四个1×4区块子区域(每个表示列表区域的行或列),且分布信息可以指示应当为这些子区域中的哪些(例如四分之一或行等)处理每个图元。在这种情况下,针对图元,分布信息将需要指示四个子区域之一,而不是例如16个区块之一,这当然将需要指示较少的数据。
这些方案将仍是有利的,因为它们仍将允许系统避免简单地必须为列表所覆盖的整个区域处理列表中的所有图元。可能期望的是,使用比区块大的图元列表区域内的子区域,在那里,例如,以单独区块的分辨率来提供分布信息将需要比期望或可用的数据容量更大的数据容量。
(其中,图元分布信息指示包括多于一个的区块的图元列表区域内的子区域,随后,如本领域的技术人员将认识到的那样,虽然是以低于单个区块水平的分辨率,但仍将间接地指示应为其处理列表中的每个图元的一个或多个区块。)
可以以任何适当和期望的方式来确定图元列表(图元仓)所对应的区域内的图元的分布,例如使用任何已知和期望的装仓技术。例如,可以使用精确装仓技术。在特别优选的实施例中,采用轴对齐边界框的边界框装仓技术被用来确定图元的分布。
(这里应注意的是,通常无论如何将执行此图元分布测试以执行总体的装仓处理,并且此外,将经常以单独区块的分辨率水平来执行此图元分布测试,即使将为多个区块的集合制定图元仓(图元列表)也是如此。因此,实际上可以生成本发明同样制定并存储的更精确的分布信息,作为无论如何必须执行的“正常”装仓处理的一部分,因此,关于这一点,以本发明的方式进行的操作不应显著地增加所需的处理,也不需要对已知和现有的图形装仓处理和硬件进行显著的修改。)
还应注意的是,在例如使用边界框装仓技术的情况下,图元分布信息可以不精确地指示图元本身所落入的区块等,而是实际上将指示图元仓区域内的“边界框”的分布。然而,这仍将具有指示图元在图元仓区域内的分布的效果,并且是以比仅仅总体上对于图元仓而言的分辨率高的分辨率,因此,仍以本发明的方式充当图元分布信息。
所述图元分布信息可以采取能够指示所需信息的任何适当和期望的形式。在优选实施例中,其具有覆盖掩模的形式,优选地具有位图的形式(位图是表示该覆盖信息的特别方便的方式。)
因此,优选地,使用覆盖掩模(例如位图)来指示图元列表所对应的区域中的图元的分布,其中所述掩模(例如图)中的每个位置对应于图元列表区域内的给定子区域(例如区块)。
可以以未压缩的格式来存储分布信息(例如覆盖位图),但是在优选实施例中,以压缩形式来存储分布信息。例如,出于此目的,可以使用可表示采用较少位的较高分辨率分布信息(例如位图)的任何保守压缩方案。因此,例如,可以使用无损压缩格式(例如使用行程编码),或者有损但保守的压缩格式。
因此,在优选实施例中,使用编码方案来采用较少的存储位表示分布信息(例如覆盖位图)。
关于这一点,本申请人已认识到,图元列表所对应的区块集合内的某些分布可能性实际上不太可能或者永远不可能发生。
例如,实际上,图元将趋向于覆盖给定区块行内的邻近区块。因此,如果考虑一行四个区块,例如,采用用于表示该行中的给定图元的分布的xxxx位图,该行中的给定图元的分布可能性实际上将是0001、0010、0100、1000、0011、0110、1100、0111、1110、1111(其中“1”指示图元存在于对应于该位置的区块中(对于该区块而言应对图元进行处理)),且其并不应当必需能够指示例如0101、1010、1001等的分布。
这样做的效果是本申请人已认识到给定覆盖位图布置因此不必能够指示所有可能的分布可能性,而是可以省略某些分布可能性。因此,可以通过不提供指示图元列表区域中的所有分布可能性的能力来压缩分布信息。
因此,在特别优选的实施例中,通过允许该信息仅仅表示图元列表所对应的多个区块的集合所覆盖的区域内的整组分布可能性中的某些而不是全部来压缩分布信息(例如区块覆盖位图)。
同样地,分布信息不需要(例如)直接表示覆盖位图,而是可以被编码为随后(例如经由查找表)指示正在讨论的位图的值。例如,如上文所讨论的,在对于一行四个区块而言期望指示0001、0010、0100、1000、0011、0110、1100、0111、1110、和1111的位图的情况下,则作为使用四个位进行此操作的替代,例如可以如下地使用3位编码方案:
0→0001
1→0010
2→0100
3→1000
4→0011
5→0110
6→1100
7→1111(和0111,1110)
在这种情况下,通过将0111和1110映射成1111来将其保守地压缩,即将0111、1110编码为“7”,并且当读取“7”时,其将被解释为“1111”。不需要对0000进行编码,因为不在图元仓区域中的图元根本不会被列出。
因此,在优选实施例中,以编码形式来提供分布信息,根据该编码形式可以导出或识别分布位图。同样地,优选地将所述编码形式配置为使得分布信息的编码形式只能表示图元列表所对应的多个区块的集合所覆盖的区域内的整组分布可能性中的某些而不是全部。
还可以将单独的分布信息组用于例如每个轴(方向),例如用于X和Y方向,并随后将该信息组合以导出用于给定图元的总体分布信息。
例如,在使用3位编码方案来表示沿着一行四个区块的覆盖度的上述情况下,对于4×4区块集合而言,可以对于X和Y方向中的每一个使用该方案,其中单独地查找给定区块的X和Y覆盖值并随后将其组合以确定该图元实际上是否落入正在讨论的区块中(实际上,如果针对区块的位图查找对于X和Y二者均返回“1”,则应当为正在讨论的区块处理该图元(否则不处理))。此布置随后将允许仅仅使用两个3位覆盖值编码方案(即总共6位)来表示4×4区块集合的分布信息,而不是例如必须使用完整的16位位图(如果要使用直接表示(没有任何中间编码)4×4区块集合的位图,则将需要该完整的16位位图)。
因此,在优选实施例中,对于两个方向(优选地为X和Y方向)中的每一个,单独地对分布信息进行编码,并随后在将其用来确定图元列表所覆盖的区域内的图元分布时将该分布信息适当地组合。
在使用分布信息的某种形式的压缩和/或编码的这些布置中,必要时则可以适当地使用图元列表所对应的区域中的图元分布的保守测试,以保证可以表示每个图元的分布,以便允许使用正在讨论的编码方案来正确地渲染图元。
同样地,在存在对要用于分布测试的技术方面的约束的情况下,则可以使用适当的保守压缩方案以保证可以适当地表示图元的分布。
可以根据需要来存储图元分布信息。其优选地为图元列表中的每个图元指示该图元列表所涉及的区域(区块集合)内的图元分布,最优选地,以便可以确定应当为其处理图元的、图元列表所针对的多个区块中的一个或多个区块、或区块的一个或多个子集。
在特别优选的实施例中,图元列表(图元仓)中的每个图元具有一组相关分布信息,诸如且优选地为相关覆盖位图。因此,对于图元列表(图元仓)中的每个图元而言,优选地存在一组相关分布信息,其指示该图元跨越图元列表(图元仓)所对应的区域的分布。
此相关分布信息可以例如被包括作为存储在用于每个图元的图元仓中的图元信息(例如顶点索引等)的一部分。
在优选实施例中,可以与其余图元信息分开地读取图元分布信息。这随后将允许首先检查分布信息,例如,以便如果正在讨论的区块不需要该图元,则可以避免读取图元仓(图元列表)中的其余图元信息,诸如顶点索引。这可以进一步减少所需的存储器访问和带宽。这可以通过例如将图元分布信息存储在单独的数据结构中、或者作为可以被与图元列表中的其它图元信息分开地读取的报头等来实现。
还可以优选的是,与其它图元信息分开地存储图元分布信息,以便促进本发明的技术与现有图形处理系统的向后兼容性。
虽然本发明需要使用涵盖多于一个区块的图元列表(图元仓),但在优选实施例中,还可以是并且还可以制定并使用单独区块的图元列表(图元仓)。在这种情况下,则可以存在专用于单独区块和多个区块的集合的图元列表的图元列表。因此,在优选实施例中,可以针对单独的区块和多个区块的集合制定图元列表。
在一个优选的此类实施例中,布置是这样的,即可以例如以在本申请人的英国(UK)专利No.2433014中所描述的“分级”方式,针对具有不同数目的区块的多个区块的集合、以及针对单独的区块制定图元列表。
在这些情况下,可以(并且优选地的确)针对对应于多个区块的集合的图元列表(中的每一个)制定并存储本发明的分布信息,但对应于单个区块的图元列表将不需要该分布信息。
实际上,本发明的优点是:可以将其用于改善简单地使用较大“图元仓”的较低性能区块化图形处理器、和例如使用诸如分级装仓方案之类的更复杂的装仓方案的较高性能图形处理器两者。
应认识到的是,在图元列表中列出的图元可以是且通常将是简单图元,诸如简单多边形,诸如三角形、四边形、直线或点。然而,本发明可同样地适用于在图元列表中可以包括可能不是简单图元的其它形式的图形描述符的情况。
此类其它图形描述符可以例如包括程序描述,诸如程序绘图调用、例如待渲染对象的高阶或高级描述符(诸如对象的平滑表面表示)、多个图元的集合的表示(诸如绘图调用)等等。本发明扩展至在图元列表中包括任何此类描述符(和适当时,分布信息与此类描述符的关联)。
本发明可同样地适用于例如可以跨越图元列表分布图形命令的情况(例如因为它们是屏幕位置依赖的)。因此,图元列表还可以包括具有相关的分布信息的图形命令,或者可以存在例如向其分配图形命令的单独的“命令”列表(仓)的集合。
通常,可以将本发明用于(如果需要)可能具有位置依赖性的任何形式的图形数据或处理,尽管其相对于图元来说最令人感兴趣,因为它们形成图形系统中的大批位置依赖数据。
应针对构成将要显示的场景(渲染目标)的每组区块制定适当的图元列表(图元仓)以及相关的分布信息。
一旦已针对区块集合制定了图元列表及相关分布信息,则可以如上文所讨论的那样通过使用图元列表及相关分布信息来确定对于每个区块而言需要处理(渲染)哪些图元等,来在渲染构成待显示场景的区块时使用此信息。
换言之,渲染处理将优选地使用图元列表中的图元的相关分布信息来确定对于正在讨论的区块而言实际上是否需要处理该(每个)图元(并且如果不需要,则将跳过该图元并转到列表中的下一个图元,以此类推)。
可以且优选地以类似于已知的基于区块的渲染系统的方式来执行此渲染处理。因此,优选地,单独地处理并渲染每个区块。可以以任何期望的方式(例如通过以连续或并行的方式渲染单独的区块)来执行此渲染。一旦已经渲染了所有的区块,则如本领域中已知的那样,可以例如在帧缓冲器中将其重组以进行显示。
在优选实施例中,图形处理系统可以将待显示的输出帧作为多个单独的子帧进行处理,从而使得实际上将被显示的总输出帧可以被划分成不同的子帧,其中每个子帧则如同其是单个帧一样被处理(因此被划分成区块,该区块具有为其制定的图元列表等等),并且随后可以将所述多个子帧重组以提供总输出帧以进行显示。
之后,这将提供将包括大量区块的输出帧(渲染目标)的细分的另一种可能性。这可能是期望的,其中,例如存在有限数量的可用图元仓(图元列表),因为,例如,不是简单地必须允许每个图元仓涵盖更多的区块(如通常将允许有限数目的图元仓覆盖更大数目的区块的情况一样-这则可能意味着分布信息同样必须表示较粗的分辨率),而是每次可以渲染输出帧的较小区域(子帧),从而有效地允许所允许的数目的图元仓表示较小的区域和较少数目的区块(以便单独的图元仓可以表示较少的区块等等)。
因此,允许将输出帧作为多个子帧来处理提供了用于根据每个图元列表等所对应的帧区域(区块数目)来控制例如分辨率的另一种选择。
可以以任何期望和适当的方式来执行本发明的各种功能。在特别优选实施例中,可以在生成并输出图形数据的单个图形处理平台上执行那些功能,所述图形数据被写入显示设备的帧缓冲器。本发明的数据结构可以例如且优选地由几何处理器或几何处理器的几何处理单元生成并存储,并随后在渲染场景以便显示时由图形处理器的像素(碎片)处理器或处理单元(其执行光栅化和渲染处理)使用。
根据需要,可以在硬件或软件中实现本发明的功能。因此,例如,本发明的各种“装置”可以包括可操作以执行所述各种功能等的适当的一个或多个处理器、功能单元、电路、处理逻辑、微处理器装置等,诸如适当地专用硬件元件和/或可被编程为以期望的方式操作的可编程硬件元件。
在优选实施例中,系统被实现为硬件元件(例如ASIC)。因此,在另一方面,本发明包括硬件元件,该硬件元件包括本文所述的本发明的任何一个或多个方面的装置或依照本发明的任何一个或多个方面的方法操作的装置。
还应注意的是,如本领域的技术人员将认识到的那样,可以在给定的处理器上复制和/或并行地执行本发明的各种功能等。
本发明可适用于任何形式或配置的(基于区块的)图形处理器和渲染器,诸如具有“管线”渲染布置的处理器(在这种情况下渲染器将具有渲染管线的形式)。
如从上文将认识到的那样,本发明特别但非排他性地可适用于3D图形处理器和处理设备,并因此扩展至包括本文所述的本发明的任何一个或多个方面的装置、或依照本发明的任何一个或多个方面的方法操作的装置的3D图形处理器和3D图形处理平台。经受执行上文所讨论的特定功能所需的任何硬件,此类3D图形处理器另外可以包括3D图形处理器包括的常见功能单元等中的任何一个或多个或全部。
本领域的技术人员还将认识到,本发明的全部所述方面和实施例可以适当地包括本文所述的优选和可选特征中的任何一个或多个或全部。
可以至少部分地使用例如计算机程序的软件来实现依照本发明的方法。因此,将看到,当从其它方面看时,本发明提供特别适合于当被安装在数据处理装置上时执行本文所述的方法的计算机软件、包括用于当在数据处理装置上运行程序单元时执行本文所述方法的计算机软件代码部分的计算机程序单元、以及包括适合于当在数据处理系统上运行程序时执行本文所述的一种或多种方法的所有步骤的代码装置的计算机程序。所述数据处理系统可以是微处理器系统、可编程FPGA(现场可编程门阵列)等等。
本发明还扩展至包括此类软件的计算机软件载体,所述软件在被用来操作图形处理器、渲染器或包括数据处理装置的微处理器系统时与所述数据处理装置相结合地促使所述处理器、渲染器或系统执行本发明的方法的步骤。此类计算机软件载体可以是诸如ROM芯片、CD ROM或盘之类的物理存储介质,或者可以是诸如导线上的电信号、光信号或诸如到达卫星的无线电信号等的信号。
将进一步认识到的是,并不是需要由计算机软件来执行本发明的方法的所有步骤,因此,从更广泛的方面出发,本发明提供被安装在计算机软件载体上的、用于执行本文所阐述的方法步骤中的至少一个的计算机软件和此类软件。
本发明因此可以被适当地体现为供与计算机系统一起使用的计算机程序产品。此类实施方式可以包括:固定在诸如例如磁盘、CD-ROM、ROM或硬盘等计算机可读介质之类的有形介质上,或可通过包括但不限于光学或模拟通信线路的有形介质或无形地使用包括但不限于微波、红外或其它传输技术的无线技术、经由调制解调器或其它接口设备发送到计算机系统的一系列计算机可读指令。该系列计算机可读指令体现了本文中先前所述的全部功能或部分功能。
本领域的技术人员将认识到,可以以多种编程语言来编写此类计算机可读指令以与许多计算机体系结构或操作系统一起使用。此外,可以使用包括但不限于半导体、磁或光学的目前或未来的任何存储技术来存储此类指令,或者可以使用包括但不限于光学、红外、或微波的目前或未来的任何通信技术来发送此类指令。可以预期的是,可以将此类计算机程序产品作为可移动介质与例如用计算机系统预加载的收缩包装软件的随附印刷或电子文件一起发布在例如系统ROM或固定盘上,或者可以通过例如因特网或万维网的网络从服务器或电子公告板发布。
附图说明
现在将参照附图仅以示例的方式来描述本发明的若干优选实施例,在附图中:
图1示意地示出基于区块的图形处理布置;
图2示意地示出依照本发明的图元的分布信息的导出;
图3示意地示出可以依照本发明来操作的图形处理器的布置;
图4示意地示出本发明的实施例中的、为图元列表中的图元存储的数据;
图5示出出于渲染的目的将待处理的场景细分成区块,以及出于装仓的目的将待处理的场景细分成多个区块的集合;以及
图6举例说明本发明的实施例中的、待渲染的帧到多个子帧的细分。
具体实施方式
图3示意地示出可以依照本发明来操作的图形处理器20。图形处理器20包括几何处理器21和像素或碎片处理器22。如果需要,可以存在并行地操作的多于一个的像素处理器22。
几何处理器21和像素处理器22可访问各种存储器23、24、25(如本领域中已知的那样,根据需要,该存储器可以全部是同一物理存储器的一部分,或者可以是单独的存储器)。存储器中的一个或多个可以与图形处理器一起“在芯片上”,或者,更典型的是,它们可以是在使用中可以被几何处理器和像素处理器访问的外部存储器(例如在主处理系统上)。
几何处理器21还包括以本发明的方式生成图元列表的列表构造器26,且所述(或每个)像素处理器22包括当渲染场景以便显示时读取并使用图元列表的列表读取器27。这些操作将在下文中更详细地讨论。
图3中所示的图形处理器20除其操作是依照本发明之外,另外还以此类处理器的正常方式运作。
因此,如图3所示,在图形处理器20的操作中,几何处理器21首先从存储器23读取用于待渲染的场景的原始几何数据30(如本领域中已知的那样,该原始几何数据例如由图形处理器驱动器提供,或在运行于图形处理器20的主系统上的API上提供)。所述几何处理器随后对该原始几何数据30进行变换,以给出用于该场景的一组经变换的几何数据31,并将该经变换的几何数据31存储在存储器24中。
几何处理器21的列表构造器26这时还为该场景制定一组图元列表(图元仓)32,并将那些列表存储在存储器24中。
存储器24还存储该场景的一组纹理23。可以根据需要来提供这些纹理。
像素处理器22使用经变换的几何数据31、纹理33和图元列表32(其由列表读取器27读取)来逐个区块地渲染用于显示的场景,并将结果得到的输出图像数据34存储在存储器25中(它可以从该存储器25例如被导出到帧缓冲器以便显示)。对场景的每个(可见)区块重复此操作。
为此,如本领域中已知的那样,像素处理器22识别要处理的(下一个)区块,使用图元列表来识别将为该区块处理的图元,将那些图元光栅化为采样点,生成表示该采样点的碎片,并通过例如将纹理应用到碎片、将其混合等来渲染该碎片,以提供碎片的输出集合以用于显示。
如上文所讨论的那样,作为用于显示的场景的处理的一部分,几何处理器21(实际上是几何处理器21的列表构造器26)将场景的待渲染图元分类成渲染的场景将被输出到的渲染目标的子区域,并为每个此类子区域制定列表(仓),其指示应该为该子区域处理的图元。在本实施例中,每个子区域包括多个区块,即2×2区块组。
图5举例说明这一点,并示出对应于出于渲染目的而被划分成十六个区块48(4×4区块阵列)的待渲染场景的渲染目标区域47。然后为区块40、44、45、46的每个2×2块制定图元列表(图元仓)。(图5出于明了的目的,仅示出16个区块。如本领域的技术人员将认识到的那样,实际上,可以存在很多的区块。)在图5中示出示例性图元42。
为了将图元分类到用于每个区块组的图元仓中,列表构造器26使用轴对齐边界框来执行边界框装仓处理(如本领域中已知的那样),以根据场景的每个图元的经变换几何数据来确定图元应被视为落入出于处理(渲染)的目的而将经渲染场景的渲染目标划分成的区块中的哪些区块中(即将需要为该区块处理所述图元)。
此信息随后被用来将图元分配给多个区块的每个集合的列表(图元仓)(将图元包括在其中),所述多个区块的每个集合包括图元已被发现落入其中的区块。因此,在图5所示的图元42的情况下,该图元被分配给2×2区块集合40的图元仓。
当然,如果需要,可以将诸如精确装仓技术之类的其它装仓技术用于此图元分类和列表处理。
除了将图元分类到图元仓中并为每个图元仓制定图元列表之外,依照本发明,列表构造器26还为图元仓中的每个图元确定并存储分布信息,该分布信息指示图元在该图元仓所对应的区块集合内的分布。在本实施例中,为图元仓中列出的每个图元确定此分布信息,并且该分布信息与该每个图元相关。
在本实施例中,此图元分布信息被确定为装仓处理的一部分(如上文所讨论的,因为装仓处理确定图元应被认为覆盖的区块),并被以区块覆盖位图的形式进行存储,该区块覆盖位图指示应该为正在讨论的图元列表(图元仓)所对应的区块集合中的哪些区块处理图元。
图2举例说明这一点,并示出将为其制定图元列表(图元仓)41的示例性2×2区块集合40。在这种情况下,图元42被其边界框43发现存在于构成该2×2区块集合的四个区块中的两个区块中。因此,使图元42与具有形式“0101”的区块覆盖位图相关联,以指示其位于2×2区块组的区块“1”和“3”中(在本实施例中,使用4位位图xxxx来指示每个图元在图元列表(图元仓)所对应的2×2区块块内的分布)。
当开始针对此区块集合40处理图元42时,像素处理器22(像素处理器的列表读取器27)将从图元仓41读取图元42的数据,并根据其相关的区块覆盖位图来确定应只针对区块集合40的区块“1”和“3”处理图元42(即可以跳过区块“0”和“2”)。
在本实施例中,每个图元的分布信息(区块覆盖位图)被与图元的其它数据一起存储在图元列表中。图4举例说明这一点。因此,如图4所示,图元列表中的每个图元“条目”50存储图元类型51(例如三角形、直线、点)、区块覆盖位图52、用于指示在渲染图元时要设置的渲染状态的渲染状态字索引53(如例如在本申请人的英国(UK)专利No.2420261中所讨论的那样)、以及到图元的顶点数据的索引54。(图4示出假定32位宽的存储器的用于此数据的存储器布局)。如图4所示,如果“顶点1”和“顶点2”索引的长度为32位,则其将存在于存储器的第一字中,且其它数据将存在于存储器的下一个字中)。
当然,将可以有其它布置。
当已制定了图元列表(图元仓)时,如上文所讨论的,像素处理器(其列表读取器27)确定涵盖当前正在处理的区块的图元列表(图元仓),并如本领域中已知的那样,依次读取该图元列表(图元仓)中的每个图元的所列信息。
然而,当这样做时,其还读取正在讨论的图元的覆盖位图(信息),以确定是否应当为当前正在处理的区块处理该图元。如果与正在讨论的图元相关的分布信息(位图)指示不需要为当前正在处理的区块处理该图元,则跳过该图元(并且,例如,因此不读出其相关顶点信息),且处理转到列表中的下一个图元上,以此类推。这可允许显著地减少在处理场景以便显示时读取的数据的量。
如本领域的技术人员将认识到的那样,如果需要,可以在本实施例中且对于本发明使用对上述布置进行的各种变更、修改或替换等。
例如,作为如上文所讨论的那样为2×2区块集合制定图元列表的替代,可以为4×4区块集合或16×16区块集合等制定图元列表。
每个图元的诸如覆盖位图之类的分布信息可以被存储在单独的数据结构中或列表中的报头中,以便可以将其与其它图元信息分开地读取。这则将允许在确定了不需要为正在讨论的区块处理图元的情况下读取要跳过的图元列表中的其余图元信息。
还可以以压缩形式来存储诸如区块覆盖位图之类的分布信息。可以使用任何适当的保守(有损)压缩或无损压缩格式。非有损压缩方案可以使用例如行程编码。
在本发明的一个优选实施例中,使用如下的位图压缩形式。
在这种情况下,假设每个图元列表表示4×4区块集合。为了表示图元在此区块集合内的分布,使用未压缩覆盖位图(其中该图中的单个位表示4×4区块集合中的每个区块)将需要16位的存储。
然而,本申请人已认识到实际上可以以更紧凑的形式来对分布信息进行编码。
特别地,由于图元实际上将仅仅趋向于位于4×4区块块的给定行或列内的邻近区块中,所以只需要表示沿着区块的给定行或列的有限数目的分布可能性。特别地,对于任何给定的行或列,覆盖可能性实际上将是0001、0010、0100、1000、0011、0110、1100、0111、1110、和1111。这些覆盖位图因此可被表示且编码为八个不同的覆盖值,如下:
0→0001
1→0010
2→0100
3→1000
4→0011
5→0110
6→1100
7→1111(和0111,1110(其被保守地映射成1111))
然后可以使用此编码方案来单独地使用x和y方向中的每一个的3位覆盖编码值表示在x和y方向中的每一个方向上的给定图元的覆盖。然后可以使用当前区块索引模数4来从x和y轴中的每个的覆盖位图中挑选位,并且如果对两个轴的查找返回“1”,则需要为该区块处理图元,否则不需要处理图元。
以这种方式,通过使用x和y轴中的每个的3位覆盖值,可以仅使用6位的存储来表示4×4区块集合内的图元的覆盖。
虽然已参照指示单独区块级别的图元在为其制定了图元列表的多个区块的集合内的分布描述了上述实施例,但同样可以指示跨越多个区块的子集的图元在为其制定了图元列表的多个区块的更大集合内的分布。例如,在如上文所讨论的4×4区块集合的图元列表的情况下,不是直接地指示4×4区块集合中的单独区块中的图元的分布,而是可以例如将4×4区块集合划分成2×2区块子集,并随后指示跨越2×2区块子集的每个图元的分布。
还可以具有这样的布置,其中为单独的区块以及为多个区块的集合两者均制定图元列表,其中,例如,为对应于多个区块的集合的那些图元列表提供图元分布信息。
因此,例如,如果需要,可以使用本申请人的英国专利No.2433014中所描述的形式的“分级”装仓方案,其中为表示多个区块的集合的那些图元列表提供以本发明的方式的分布信息。
实际上,除了用于较低面积和较低性能的图形处理系统之外,本发明还可以有利地应用于较高性能的图形处理系统,诸如可以使用诸如分级装仓之类的更复杂的装仓方案的系统。
而且,例如,不需要使用轴对齐边界框来确定图元是否存在于给定区块中,而是可以在需要时例如使用其它边界框布置。必要时,可以使用适当的保守(有损)压缩方案以保证不发生具有对角线的区块覆盖位图。
图6举例说明结合本实施例和本发明使用的进一步优选的输出帧细分布置。在这种情况下,将场景将被渲染为的总输出帧60作为四个单独的子帧61、62、63、64来处理,该单独的子帧61、62、63、64随后被组合以提供用于显示的最终输出帧。以上文所讨论的、即出于渲染的目的被细分成区块65的方式来处理每个单独的子帧61、62、63和64,且每个单独的子帧61、62、63和64具有为多个区块的集合66而制定以利于该处理的图元列表(这仅仅出于明了的目的而针对子帧61示出)。
此布置提供将输出帧处理进行细分的附加方式,其中,例如,图形处理系统支持固定最大数目的图元仓(图元列表),并且例如,与每个图元仓相关的分布信息可以只表示在被图元列表(图元仓)覆盖的区域内的有限数目的分布布置。
在此类系统中,例如,如果要绘制的帧涵盖大量区块(通常由于区块尺寸将被固定且因此用于较高分辨率显示,将需要生成更多的区块),则一种替换将是简单地将较大数目的区块划分成允许的数目的图元仓。然而,这样做的效果将是每个图元仓将涵盖更多的区块。
可替换地,如图6所示,总帧60可以被细分成将被接连地处理的“子帧”。每个子帧随后将可以访问图形处理系统可以支持的整组图元列表(图元仓),并且因此,与一次(总体上)处理整个输出帧相比,每个图元仓将只需涵盖较小数目的区块。
从上文可以看出,本发明至少在其优选实施例中提供了供在区块化图形处理系统中使用的方法和装置,其特别地能够减小图形处理器(且特别是光栅化或渲染处理)存储带宽(特别是在处理场景以便显示时被执行以读取场景描述的存储器访问的次数)。这降低了图形处理器所消耗的功率,并且特别是降低了光栅化和渲染处理及存储器子系统所消耗的功率。其还允许使用较低性能、较低功率的存储系统。
此外,这可以在对图形处理系统进行相对简单且次要的修改的情况下实现,从而使得例如可以只需要少量的附加逻辑。
这使得本发明特别有利,尤其是对于诸如可以在便携式和移动设备及嵌入式系统中使用的较低功率的图形处理器。
这在本发明的优选实施例中至少通过使用共同地覆盖多个区块的图元列表来实现。这降低了图元列表的存储要求和指针保持。
然而,除了做这些之外,本发明还提供指示图元列表中的图元在图元列表所覆盖的区块内的分布的附加信息。光栅化和渲染处理随后读取此分布信息,并且如果分布信息指示正在处理的区块事实上不需要该图元,则可以跳过获取图元数据等。本申请人已经发现这可以显著减少在光栅化和渲染处理期间读取的数据的量,虽然有正在使用表示多个区块的集合的图元列表这一事实。
Claims (17)
1.一种生成数据集合以供当在基于区块的图形处理系统中渲染用于显示的场景时使用的方法,该方法包括:
确定并存储将为待渲染的多个区块的集合渲染的图元的列表;以及
确定并存储用于指示图元列表中的图元在下述区域中的分布的信息,其中该区域被正在为其制定列表的多个区块的集合涵盖。
2.一种在基于区块的图形处理系统中渲染用于显示的场景的方法,其中,为待渲染的多个区块的集合制定待渲染的图元的列表,以及指示该图元列表中的图元在下述区域中的分布的信息,其中该区域被列表所对应的多个区块的集合涵盖,该方法包括图形处理系统在其处理待显示场景的区块时:
使用涵盖所述的区块的场景的图元列表,来确定将为所述的区块处理的图元集合;
使用与图元列表相关的图元分布信息,来确定将为所述的区块处理的图元列表中的图元集合的图元;以及
处理所确定的图元以渲染区块以便显示。
3.权利要求1或2的方法,其中,图元分布信息直接指示当渲染场景时应该为图元列表所涵盖的多个区块中的哪个区块或哪些区块处理所述图元或每个图元。
4.权利要求1、2、或3的方法,其中,图元分布信息采用覆盖掩模的形式。
5.权利要求1、2、3或4的方法,其中,以编码形式来提供图元分布信息,该编码形式只能表示图元列表对应的多个区块的集合所覆盖的区域内的分布可能性的整个集合中的一些但不是全部。
6.权利要求1至5中任何一项的方法,其中,针对两个不同方向中的每一个方向,单独地对图元分布信息进行编码。
7.权利要求1至6中任何一项的方法,其中,对于图元列表中的每个图元,存在一组相关的分布信息,该分布信息指示该图元跨越图元列表所对应的区域的分布。
8.权利要求1至7中任何一项的方法,其中,可以与图元列表中的其余图元信息分开地读取图元分布信息。
9.一种用于生成数据集合以供当在基于区块的图形处理系统中渲染用于显示的场景时使用的装置,该装置包括:
用于确定并存储将为待渲染的多个区块的集合渲染的图元的列表的装置;以及
用于确定并存储用于指示图元列表中的图元在下述区域中的分布的信息的装置,其中该区域被正在为其制定列表的多个区块的集合所涵盖。
10.一种基于区块的图形处理器,其中为待渲染的多个区块的集合制定待渲染的图元的列表,以及指示该图元列表中的图元在下述区域中的分布的信息,其中该区域被列表所对应的多个区块的集合所涵盖,所述图形处理器包括:
用于使用待显示场景的图元列表来确定将为场景的区块处理的图元集合的装置;
用于使用与图元列表相关的图元分布信息来确定将为所述的区块处理的图元列表中的图元集合的图元的装置;以及
用于处理所确定的图元以渲染区块以便显示的装置。
11.权利要求9或10的装置或处理器,其中,图元分布信息直接指示当渲染场景时应该为图元列表所涵盖的多个区块中的哪个区块或哪些区块处理所述图元或每个图元。
12.权利要求9、10或11的装置或处理器,其中,图元分布信息采用覆盖掩模的形式。
13.权利要求9、10、11或12的装置或处理器,其中,以编码形式来提供图元分布信息,该编码形式只能表示图元列表对应的多个区块的集合所覆盖的区域内的分布可能性的整个集合中的一些但不是全部。
14.权利要求9~13中的任何一项的装置或处理器,其中,针对两个不同方向中的每一个方向,单独地对图元分布信息进行编码。
15.权利要求9~14中任何一项的装置或处理器,其中,对于图元列表中的每个图元,存在一组相关的分布信息,该分布信息指示该图元跨越图元列表所对应的区域的分布。
16.权利要求9~15中任何一项的装置或处理器,其中,可以与图元列表中的其余图元信息分开地读取图元分布信息。
17.一种2D或3D图形处理器或2D或3D图形处理平台,其包括权利要求9、10、11、12、13、14、15和16中任何一项的装置或处理器。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB0900700.6 | 2009-01-15 | ||
GBGB0900700.6A GB0900700D0 (en) | 2009-01-15 | 2009-01-15 | Methods of and apparatus for processing graphics |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101794456A true CN101794456A (zh) | 2010-08-04 |
Family
ID=40445895
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201010002994A Pending CN101794456A (zh) | 2009-01-15 | 2010-01-15 | 用于处理图形的方法和装置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US8681168B2 (zh) |
JP (1) | JP5595739B2 (zh) |
CN (1) | CN101794456A (zh) |
GB (2) | GB0900700D0 (zh) |
Cited By (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103295257A (zh) * | 2012-02-27 | 2013-09-11 | 三星电子株式会社 | 渲染系统和方法 |
CN103310409A (zh) * | 2013-06-26 | 2013-09-18 | 济南大学 | 一种Tile-based渲染架构GPU的三角形快速分块方法 |
CN103870213A (zh) * | 2012-12-18 | 2014-06-18 | 辉达公司 | 经由管线化的状态包触发性能事件捕获 |
CN104424621A (zh) * | 2013-08-30 | 2015-03-18 | Arm有限公司 | 图形处理系统 |
CN104679509A (zh) * | 2015-02-06 | 2015-06-03 | 腾讯科技(深圳)有限公司 | 一种渲染图形的方法和装置 |
CN104850393A (zh) * | 2014-02-13 | 2015-08-19 | 想象技术有限公司 | 并行平铺引擎管线中的图元块的处理 |
CN105096235A (zh) * | 2014-05-13 | 2015-11-25 | 联发科技股份有限公司 | 图形处理方法及图形处理装置 |
CN105184730A (zh) * | 2014-06-17 | 2015-12-23 | 想象技术有限公司 | 向图形处理系统中的区片分配图元 |
CN106447593A (zh) * | 2015-08-03 | 2017-02-22 | Arm有限公司 | 图形处理 |
CN107025681A (zh) * | 2016-02-01 | 2017-08-08 | 想象技术有限公司 | 稀疏渲染 |
CN107392989A (zh) * | 2016-04-29 | 2017-11-24 | Arm有限公司 | 图形处理系统 |
CN107408210A (zh) * | 2015-03-25 | 2017-11-28 | 英特尔公司 | 基于边缘的覆盖掩码压缩 |
CN109643460A (zh) * | 2016-08-29 | 2019-04-16 | 超威半导体公司 | 使用推迟图元批量合并和分类的混合渲染器 |
CN110223367A (zh) * | 2018-11-30 | 2019-09-10 | 腾讯科技(深圳)有限公司 | 动画显示方法、装置、终端及存储介质 |
CN111489282A (zh) * | 2019-01-29 | 2020-08-04 | 畅想科技有限公司 | 用于存储未变换图元块的存储器 |
CN115668298A (zh) * | 2020-05-14 | 2023-01-31 | 高通股份有限公司 | 用于增强现实内容的图谱管理的方法和装置 |
US11880926B2 (en) | 2013-03-29 | 2024-01-23 | Advanced Micro Devices, Inc. | Hybrid render with deferred primitive batch binning |
US11954782B2 (en) | 2013-03-29 | 2024-04-09 | Advanced Micro Devices, Inc. | Hybrid render with preferred primitive batch binning and sorting |
Families Citing this family (40)
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 |
JP2013025376A (ja) * | 2011-07-15 | 2013-02-04 | Fujitsu Semiconductor Ltd | 画像描画装置 |
CN102903094B (zh) * | 2011-07-25 | 2015-09-02 | 株式会社理光 | 电子文档栅格化方法和电子文档栅格化装置 |
US8902228B2 (en) | 2011-09-19 | 2014-12-02 | Qualcomm Incorporated | Optimizing resolve performance with tiling graphics architectures |
US10242481B2 (en) | 2012-03-15 | 2019-03-26 | Qualcomm Incorporated | Visibility-based state updates in graphical processing units |
GB2500284B (en) * | 2012-09-12 | 2014-04-30 | Imagination Tech Ltd | Tile based computer graphics |
US9317948B2 (en) * | 2012-11-16 | 2016-04-19 | Arm Limited | Method of and apparatus for processing graphics |
KR102089471B1 (ko) | 2012-11-30 | 2020-03-17 | 삼성전자주식회사 | 타일 기반 렌더링 방법 및 장치 |
US9299182B2 (en) | 2012-12-04 | 2016-03-29 | Panasonic Intellectual Property Management Co., Ltd. | Divided-area-based rendering device and divided-area-based rendering method |
US9899007B2 (en) | 2012-12-28 | 2018-02-20 | Think Silicon Sa | Adaptive lossy framebuffer compression with controllable error rate |
US9087410B2 (en) | 2013-01-17 | 2015-07-21 | Qualcomm Incorporated | Rendering graphics data using visibility information |
US10204391B2 (en) | 2013-06-04 | 2019-02-12 | Arm Limited | Method of and apparatus for processing graphics |
KR102116976B1 (ko) | 2013-09-04 | 2020-05-29 | 삼성전자 주식회사 | 렌더링 방법 및 장치 |
KR102122454B1 (ko) | 2013-10-02 | 2020-06-12 | 삼성전자주식회사 | 이전 타일의 이미지를 이용하여 현재 프레임을 렌더링하는 방법 및 장치 |
US9536333B2 (en) * | 2013-10-17 | 2017-01-03 | Arm Limited | Method and apparatus for improved processing of graphics primitives |
KR102111740B1 (ko) | 2014-04-03 | 2020-05-15 | 삼성전자주식회사 | 영상 데이터를 처리하는 방법 및 디바이스. |
US9710881B2 (en) * | 2014-04-05 | 2017-07-18 | Sony Interactive Entertainment America Llc | Varying effective resolution by screen location by altering rasterization parameters |
GB2525223B (en) * | 2014-04-16 | 2020-07-15 | Advanced Risc Mach Ltd | Graphics processing systems |
GB2526598B (en) * | 2014-05-29 | 2018-11-28 | Imagination Tech Ltd | Allocation of primitives to primitive blocks |
US9842428B2 (en) * | 2014-06-27 | 2017-12-12 | Samsung Electronics Co., Ltd. | Dynamically optimized deferred rendering pipeline |
RU2610587C2 (ru) * | 2014-09-16 | 2017-02-13 | Общество С Ограниченной Ответственностью "Яндекс" | Способ пространственного хранения объекта посредством гибкой иерархической структуры и постоянный носитель информации |
US10249079B2 (en) | 2014-12-11 | 2019-04-02 | Intel Corporation | Relaxed sorting in a position-only pipeline |
US9836869B2 (en) | 2015-04-01 | 2017-12-05 | Mediatek Inc. | Graphics-processing method of a graphics-processing unit and graphics-processing apparatus |
US9922449B2 (en) | 2015-06-01 | 2018-03-20 | Intel Corporation | Apparatus and method for dynamic polygon or primitive sorting for improved culling |
KR102454893B1 (ko) * | 2015-09-30 | 2022-10-14 | 삼성전자주식회사 | 그래픽 프로세싱 장치 및 그래픽 프로세싱 장치의 동작 방법 |
GB2559042B (en) | 2015-12-21 | 2019-06-05 | Imagination Tech Ltd | Allocation of tiles to processing engines in a graphics processing system |
IL245339A (en) * | 2016-04-21 | 2017-10-31 | Rani Ben Yishai | Method and system for verification of registration |
GB2551689B (en) * | 2016-04-22 | 2021-05-12 | Advanced Risc Mach Ltd | Method and Apparatus for processing graphics |
US9978343B2 (en) | 2016-06-10 | 2018-05-22 | Apple Inc. | Performance-based graphics processing unit power management |
JP7058010B2 (ja) * | 2016-09-08 | 2022-04-21 | ソニーグループ株式会社 | 演算装置およびセンサー |
US10607375B2 (en) | 2018-06-03 | 2020-03-31 | Apple Inc. | Encoding techniques |
CN110347462A (zh) * | 2019-06-21 | 2019-10-18 | 秦皇岛尼特智能科技有限公司 | 一种基于opengl的wmf消防图形处理方法及装置 |
US11170555B2 (en) * | 2019-11-27 | 2021-11-09 | Arm Limited | Graphics processing systems |
US11216993B2 (en) * | 2019-11-27 | 2022-01-04 | Arm Limited | Graphics processing systems |
US11210821B2 (en) * | 2019-11-27 | 2021-12-28 | Arm Limited | Graphics processing systems |
US11210847B2 (en) * | 2019-11-27 | 2021-12-28 | Arm Limited | Graphics processing systems |
GB2591803B (en) | 2020-02-07 | 2022-02-23 | Imagination Tech Ltd | Graphics processing method and system for rendering items of geometry based on their size |
GB2591802B (en) | 2020-02-07 | 2022-03-23 | Imagination Tech Ltd | Graphics processing method and system for rendering items of geometry based on their size |
WO2021167604A1 (en) * | 2020-02-19 | 2021-08-26 | Hewlett-Packard Development Company, L.P. | Display rendering of nonlinearly scaled 3d parts |
US11734787B2 (en) * | 2021-09-17 | 2023-08-22 | Qualcomm Incorporated | Foveated binned rendering associated with sample spaces |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1421022A (zh) * | 2000-03-31 | 2003-05-28 | 英特尔公司 | 分块的图形结构 |
CN1774727A (zh) * | 2003-04-15 | 2006-05-17 | 诺基亚有限公司 | 为像素确定覆盖掩模 |
CN101067869A (zh) * | 2005-12-05 | 2007-11-07 | Arm挪威股份有限公司 | 处理图形的方法和设备 |
US20080150950A1 (en) * | 2006-12-04 | 2008-06-26 | Arm Norway As | Method of and apparatus for processing graphics |
Family Cites Families (52)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA1309198C (en) | 1987-12-10 | 1992-10-20 | Carlo J. Evangelisti | Parallel rendering of smoothly shaded color triangles with anti-aliased edges for a three dimensional color display |
GB8828342D0 (en) | 1988-12-05 | 1989-01-05 | Rediffusion Simulation Ltd | Image generator |
US5305430A (en) | 1990-12-26 | 1994-04-19 | Xerox Corporation | Object-local sampling histories for efficient path tracing |
GB2251770B (en) | 1991-01-09 | 1995-01-11 | Du Pont Pixel Systems | Graphics accelerator system with polygon traversal operation |
JP2807608B2 (ja) | 1992-12-29 | 1998-10-08 | 株式会社ナムコ | ソーティング処理装置、これを用いた画像合成装置及びソーティング処理方法 |
US5500928A (en) | 1993-03-01 | 1996-03-19 | Xionics Document Technologies, Inc. | Digital printing system and process using adaptive compression |
US5509110A (en) | 1993-04-26 | 1996-04-16 | Loral Aerospace Corporation | Method for tree-structured hierarchical occlusion in image generators |
US5729672A (en) | 1993-07-30 | 1998-03-17 | Videologic Limited | Ray tracing method and apparatus for projecting rays through an object represented by a set of infinite surfaces |
GB9315852D0 (en) | 1993-07-30 | 1993-09-15 | Video Logic Ltd | Shading three-dimensional images |
GB2336983B (en) | 1995-01-31 | 2000-01-19 | Videologic Ltd | Improvements relating to computer 3D rendering systems |
US5794017A (en) | 1995-02-06 | 1998-08-11 | International Business Machines Corporation | Method and system of updating graphics memory in a graphics display system through multiple address transferring of pixel data |
US5949428A (en) | 1995-08-04 | 1999-09-07 | Microsoft Corporation | Method and apparatus for resolving pixel data in a graphics rendering system |
US5864342A (en) | 1995-08-04 | 1999-01-26 | Microsoft Corporation | Method and system for rendering graphical objects to image chunks |
WO1997006512A2 (en) | 1995-08-04 | 1997-02-20 | Microsoft Corporation | Method and system for rendering graphical objects to image chunks and combining image layers into a display image |
US5886701A (en) | 1995-08-04 | 1999-03-23 | Microsoft Corporation | Graphics rendering device and method for operating same |
US5574836A (en) | 1996-01-22 | 1996-11-12 | Broemmelsiek; Raymond M. | Interactive display apparatus and method with viewer position compensation |
US5844571A (en) | 1996-06-10 | 1998-12-01 | International Business Machines Corporation | Z buffer bandwidth reductions via split transactions |
US6288722B1 (en) | 1996-10-17 | 2001-09-11 | International Business Machines Corporation | Frame buffer reconfiguration during graphics processing based upon image attributes |
US5844576A (en) | 1996-12-30 | 1998-12-01 | Cirrus Logic, Inc. | Tiled linear host texture storage |
US6697063B1 (en) | 1997-01-03 | 2004-02-24 | Nvidia U.S. Investment Company | Rendering pipeline |
GB9716251D0 (en) | 1997-08-01 | 1997-10-08 | Philips Electronics Nv | Attribute interpolation in 3d graphics |
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 |
WO2000011603A2 (en) | 1998-08-20 | 2000-03-02 | Apple Computer, Inc. | Graphics processor with pipeline state storage and retrieval |
GB2343603B (en) | 1998-11-06 | 2003-04-02 | Videologic Ltd | Shading 3-dimensional computer generated images |
US6344852B1 (en) | 1999-03-17 | 2002-02-05 | Nvidia Corporation | Optimized system and method for binning of graphics data |
US6862657B1 (en) | 1999-12-21 | 2005-03-01 | Intel Corporation | Reading data from a storage medium |
US20020039100A1 (en) | 2000-06-08 | 2002-04-04 | Stephen Morphet | Memory management for systems for generating 3-dimensional computer images |
GB2378108B (en) | 2001-07-24 | 2005-08-17 | Imagination Tech Ltd | Three dimensional graphics system |
US7158141B2 (en) | 2002-01-17 | 2007-01-02 | University Of Washington | Programmable 3D graphics pipeline for multimedia applications |
US6816161B2 (en) | 2002-01-30 | 2004-11-09 | Sun Microsystems, Inc. | Vertex assembly buffer and primitive launch buffer |
GB2387094B (en) | 2002-03-26 | 2005-12-07 | Imagination Tech Ltd | 3-D Computer graphics rendering system |
US7002571B2 (en) | 2002-06-04 | 2006-02-21 | Intel Corporation | Grid-based loose octree for spatial partitioning |
US7009608B2 (en) | 2002-06-06 | 2006-03-07 | Nvidia Corporation | System and method of using multiple representations per object in computer graphics |
EP1516303A2 (en) | 2002-06-20 | 2005-03-23 | Alberto Baroncelli | Vector graphics circuit accelerator for display systems |
US7138998B2 (en) | 2002-11-14 | 2006-11-21 | Intel Corporation | Multi-resolution spatial partitioning |
GB0301448D0 (en) | 2003-01-22 | 2003-02-19 | Falanx Microsystems As | Microprocessor systems |
US7148890B2 (en) | 2003-04-02 | 2006-12-12 | Sun Microsystems, Inc. | Displacement mapping by using two passes through the same rasterizer |
GB0319697D0 (en) | 2003-08-21 | 2003-09-24 | Falanx Microsystems As | Method of and apparatus for differential encoding and decoding |
US6911985B1 (en) | 2003-12-10 | 2005-06-28 | Lsi Logic Corporation | Method and apparatus for reducing frame buffer size in graphics systems |
CN1641702A (zh) | 2004-01-13 | 2005-07-20 | 邓兴峰 | 由平面图象设计立体图象的方法 |
CN100576249C (zh) | 2004-05-24 | 2009-12-30 | Nxp股份有限公司 | 基于贴片的图形渲染 |
US7167171B2 (en) | 2004-06-29 | 2007-01-23 | Intel Corporation | Methods and apparatuses for a polygon binning process for rendering |
US7813562B2 (en) | 2004-09-27 | 2010-10-12 | Intel Corporation | Low-latency remote display rendering using tile-based rendering systems |
GB0426170D0 (en) | 2004-11-29 | 2004-12-29 | Falanx Microsystems As | Processing of computer graphics |
JP4566772B2 (ja) * | 2005-02-14 | 2010-10-20 | キヤノン株式会社 | 画像処理装置、画像処理方法、及びプログラム |
GB0519597D0 (en) | 2005-09-26 | 2005-11-02 | Imagination Tech Ltd | Scalable multi-threaded media processing architecture |
GB2444863B (en) | 2005-12-05 | 2008-10-08 | Arm Norway As | Method of and apparatus for processing graphics |
GB0710795D0 (en) | 2007-06-05 | 2007-07-18 | Arm Norway As | Method of and apparatus for processing graphics |
GB2444628B (en) | 2006-12-04 | 2009-02-04 | Arm Norway As | Method and apparatus for processing graphics |
ITMI20070038A1 (it) | 2007-01-12 | 2008-07-13 | St Microelectronics Srl | Dispositivo di renderizzazione per grafica a tre dimensioni con architettura di tipo sort-middle. |
US8933943B2 (en) * | 2008-04-30 | 2015-01-13 | Intel Corporation | Technique for performing load balancing for parallel rendering |
DE102009022181A1 (de) | 2009-05-20 | 2010-11-25 | W & S Management Gmbh & Co. Kg | Ventilatorschaufel |
-
2009
- 2009-01-15 GB GBGB0900700.6A patent/GB0900700D0/en not_active Ceased
-
2010
- 2010-01-12 US US12/686,187 patent/US8681168B2/en active Active
- 2010-01-14 JP JP2010005906A patent/JP5595739B2/ja active Active
- 2010-01-15 GB GB1000710A patent/GB2467049B/en active Active
- 2010-01-15 CN CN201010002994A patent/CN101794456A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1421022A (zh) * | 2000-03-31 | 2003-05-28 | 英特尔公司 | 分块的图形结构 |
CN1774727A (zh) * | 2003-04-15 | 2006-05-17 | 诺基亚有限公司 | 为像素确定覆盖掩模 |
CN101067869A (zh) * | 2005-12-05 | 2007-11-07 | Arm挪威股份有限公司 | 处理图形的方法和设备 |
US20080150950A1 (en) * | 2006-12-04 | 2008-06-26 | Arm Norway As | Method of and apparatus for processing graphics |
Non-Patent Citations (1)
Title |
---|
ANTOCHI, I. ET AL: "Efficient tile-aware bounding-box overlap test for tile-based rendering", 《PROCEEDINGS. 2004 INTERNATIONAL SYMPOSIUM ON SYSTEM-ON-CHIP, 2004》 * |
Cited By (31)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103295257A (zh) * | 2012-02-27 | 2013-09-11 | 三星电子株式会社 | 渲染系统和方法 |
US9805502B2 (en) | 2012-02-27 | 2017-10-31 | Samsung Electronics Co., Ltd. | Rendering system and method |
CN103870213A (zh) * | 2012-12-18 | 2014-06-18 | 辉达公司 | 经由管线化的状态包触发性能事件捕获 |
CN103870213B (zh) * | 2012-12-18 | 2017-04-12 | 辉达公司 | 一种生成性能数据的图形处理管线及计算系统 |
US11954782B2 (en) | 2013-03-29 | 2024-04-09 | Advanced Micro Devices, Inc. | Hybrid render with preferred primitive batch binning and sorting |
US11880926B2 (en) | 2013-03-29 | 2024-01-23 | Advanced Micro Devices, Inc. | Hybrid render with deferred primitive batch binning |
CN103310409B (zh) * | 2013-06-26 | 2016-09-28 | 济南大学 | 一种Tile-based渲染架构GPU的三角形快速分块方法 |
CN103310409A (zh) * | 2013-06-26 | 2013-09-18 | 济南大学 | 一种Tile-based渲染架构GPU的三角形快速分块方法 |
CN104424621B (zh) * | 2013-08-30 | 2019-05-14 | Arm有限公司 | 基于图块的图形处理流水线和操作图形处理流水线的方法 |
CN104424621A (zh) * | 2013-08-30 | 2015-03-18 | Arm有限公司 | 图形处理系统 |
CN104850393A (zh) * | 2014-02-13 | 2015-08-19 | 想象技术有限公司 | 并行平铺引擎管线中的图元块的处理 |
CN105096235A (zh) * | 2014-05-13 | 2015-11-25 | 联发科技股份有限公司 | 图形处理方法及图形处理装置 |
CN105096235B (zh) * | 2014-05-13 | 2018-06-19 | 联发科技股份有限公司 | 图形处理方法及图形处理装置 |
CN105184730A (zh) * | 2014-06-17 | 2015-12-23 | 想象技术有限公司 | 向图形处理系统中的区片分配图元 |
CN105184730B (zh) * | 2014-06-17 | 2020-03-17 | 想象技术有限公司 | 向图形处理系统中的区片分配图元 |
CN104679509A (zh) * | 2015-02-06 | 2015-06-03 | 腾讯科技(深圳)有限公司 | 一种渲染图形的方法和装置 |
CN107408210A (zh) * | 2015-03-25 | 2017-11-28 | 英特尔公司 | 基于边缘的覆盖掩码压缩 |
CN107408210B (zh) * | 2015-03-25 | 2022-08-02 | 英特尔公司 | 基于边缘的覆盖掩码压缩 |
CN106447593A (zh) * | 2015-08-03 | 2017-02-22 | Arm有限公司 | 图形处理 |
CN106447593B (zh) * | 2015-08-03 | 2021-06-18 | Arm有限公司 | 操作图形处理流水线的方法、图形处理流水线、存储介质 |
CN107025681B (zh) * | 2016-02-01 | 2023-06-13 | 想象技术有限公司 | 图形处理系统和图形处理方法 |
CN107025681A (zh) * | 2016-02-01 | 2017-08-08 | 想象技术有限公司 | 稀疏渲染 |
CN107392989A (zh) * | 2016-04-29 | 2017-11-24 | Arm有限公司 | 图形处理系统 |
CN109643460A (zh) * | 2016-08-29 | 2019-04-16 | 超威半导体公司 | 使用推迟图元批量合并和分类的混合渲染器 |
CN109643460B (zh) * | 2016-08-29 | 2023-08-15 | 超威半导体公司 | 使用推迟图元批量合并和分类的混合渲染器 |
CN110223367B (zh) * | 2018-11-30 | 2023-01-06 | 腾讯科技(深圳)有限公司 | 动画显示方法、装置、终端及存储介质 |
CN110223367A (zh) * | 2018-11-30 | 2019-09-10 | 腾讯科技(深圳)有限公司 | 动画显示方法、装置、终端及存储介质 |
CN111489282B (zh) * | 2019-01-29 | 2023-10-31 | 畅想科技有限公司 | 用于存储未变换图元块的存储器 |
CN111489282A (zh) * | 2019-01-29 | 2020-08-04 | 畅想科技有限公司 | 用于存储未变换图元块的存储器 |
CN115668298A (zh) * | 2020-05-14 | 2023-01-31 | 高通股份有限公司 | 用于增强现实内容的图谱管理的方法和装置 |
CN115668298B (zh) * | 2020-05-14 | 2024-01-12 | 高通股份有限公司 | 用于增强现实内容的图谱管理的方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
GB201000710D0 (en) | 2010-03-03 |
JP5595739B2 (ja) | 2014-09-24 |
JP2010165357A (ja) | 2010-07-29 |
GB2467049B (en) | 2011-10-26 |
GB2467049A (en) | 2010-07-21 |
GB0900700D0 (en) | 2009-03-04 |
US8681168B2 (en) | 2014-03-25 |
US20100177105A1 (en) | 2010-07-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101794456A (zh) | 用于处理图形的方法和装置 | |
CN100357972C (zh) | 计算机绘图之颜色资料的压缩系统及方法 | |
AU2010313045B2 (en) | Image file generation device, image processing device, image file generation method, image processing method, and data structure for image files | |
US10726519B2 (en) | Cache arrangement for graphics processing systems | |
CN107273301B (zh) | 存储阵列的方法和设备、确定数据值的方法和设备、介质 | |
EP2464093B1 (en) | Image file generation device, image processing device, image file generation method, and image processing method | |
JP5336067B2 (ja) | グラフィックスを処理する方法および装置 | |
US7652677B2 (en) | Graphics system employing pixel mask | |
JP5307823B2 (ja) | データを圧縮及び解凍する方法及び装置 | |
US20130106853A1 (en) | Leveraging graphics processors to optimize rendering 2-d objects | |
US9965886B2 (en) | Method of and apparatus for processing graphics | |
CN101604454A (zh) | 图形处理系统 | |
CN101916453A (zh) | 用于处理计算机图形的方法和设备 | |
JP5368254B2 (ja) | 画像ファイル生成装置、画像処理装置、画像ファイル生成方法、画像処理方法、および画像ファイルのデータ構造 | |
JP2007157155A (ja) | グラフィックスを処理する方法および装置 | |
CN101919254A (zh) | 基于预测的图像处理 | |
KR20190008125A (ko) | 그래픽 처리 시스템 | |
CN110609726B (zh) | 贴图处理方法及装置、计算机可读存储介质、电子设备 | |
EP3580726B1 (en) | Buffer index format and compression | |
CN102708533A (zh) | 图形处理 | |
JP5296656B2 (ja) | 画像処理装置および画像処理方法 | |
US20100164965A1 (en) | Rendering module for bidimensional graphics, preferably based on primitives of active edge type | |
WO2011082651A1 (zh) | 空间实体遮挡类型的判定方法及装置 | |
CN113570691A (zh) | 用于体素模型的存储优化方法、装置及电子设备 | |
Masood et al. | A novel method for adaptive terrain rendering using memory-efficient tessellation codes for virtual globes |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20100804 |
|
RJ01 | Rejection of invention patent application after publication |