CN1739117A - 使用最小深度遮挡剔除和z字形遍历的图形处理设备、方法和计算机程序产品 - Google Patents
使用最小深度遮挡剔除和z字形遍历的图形处理设备、方法和计算机程序产品 Download PDFInfo
- Publication number
- CN1739117A CN1739117A CNA2003801064443A CN200380106444A CN1739117A CN 1739117 A CN1739117 A CN 1739117A CN A2003801064443 A CNA2003801064443 A CN A2003801064443A CN 200380106444 A CN200380106444 A CN 200380106444A CN 1739117 A CN1739117 A CN 1739117A
- Authority
- CN
- China
- Prior art keywords
- fragment
- pixel
- row
- mark
- depth value
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims description 45
- 238000004590 computer program Methods 0.000 title claims description 16
- 238000012545 processing Methods 0.000 title abstract description 18
- 239000012634 fragment Substances 0.000 claims description 203
- 230000004044 response Effects 0.000 claims description 32
- 230000000903 blocking effect Effects 0.000 claims description 31
- 230000008569 process Effects 0.000 claims description 18
- 239000003550 marker Substances 0.000 claims description 6
- 230000000052 comparative effect Effects 0.000 claims description 4
- 238000003672 processing method Methods 0.000 claims description 2
- 238000012360 testing method Methods 0.000 description 9
- 238000005516 engineering process Methods 0.000 description 7
- 230000004438 eyesight Effects 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 238000011112 process operation Methods 0.000 description 3
- 238000009877 rendering Methods 0.000 description 3
- 241001253201 Pineda Species 0.000 description 2
- 230000009471 action Effects 0.000 description 2
- 239000011248 coating agent Substances 0.000 description 2
- 238000000576 coating method Methods 0.000 description 2
- 239000003086 colorant Substances 0.000 description 2
- 230000008901 benefit Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- 238000009472 formulation Methods 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 229910052754 neon Inorganic materials 0.000 description 1
- GKAOGPIIYCISHV-UHFFFAOYSA-N neon atom Chemical compound [Ne] GKAOGPIIYCISHV-UHFFFAOYSA-N 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000004304 visual acuity Effects 0.000 description 1
Images
Abstract
在包括多行像素的图形显示场中定义多行碎片,各个碎片包括来自至少两行像素的像素。根据该一行碎片中的碎片的各自代表深度值是否满足遮挡标准,为图元的一行碎片的相应碎片设置遮挡标记。响应于遮挡标记,以逐行的方式对于图元处理与该一行碎片对应的像素行中的像素。该处理可以包括使用Z字形遍历算法处理该一行碎片中的像素行。
Description
相关申请
本申请要求于2002年12月20日提交的,Akenine-Mller等人的标题为“ZIGZAG Z-Min Culling”的美国临时专利申请No.60/434,900的优先权,在此通过引用并入其全部内容。
技术领域
本发明涉及计算机图形学,更具体地,涉及图形处理方法、设备和计算机程序产品。
背景技术
移动电话在全世界都在使用。因为它们通常配备有显示屏,所以还可以在这些设备上对图像进行渲染。这很可能使得移动电话成为当今最广泛的渲染平台。然而,这种渲染通常局限于非常简单的二维图形,直到最近三维图形才在这一领域问世。在诸如Java规范请求184(例如参见www.jcp.org)和用于嵌入式系统的OpenGL ES(例如参见www.khronos.org)等即将到来的标准的制定活动中可以看出对移动图形不断增长的兴趣。可能使用三维图形的应用包括人机接口(MMI)、屏幕保护程序、地图、动画消息,并且当然包括游戏。
移动电话本身具有完全不同于例如带有显示卡的PC系统的两个特性。首先,它们具有很小的显示屏,其次,它们具有非常少的用于渲染的资源。下面将简要讨论这些特性。
现有的带有彩色显示屏的移动电话通常具有[176-320]×[144-240]的分辨率,即,显示屏非常小。QCIF标准定义了176×144的分辨率,QVGA标准使用320×240。虽然诸如1024×768的更高的分辨率也将出现在移动电话上,但是很可能这将仅在非常高端的移动电话上出现,因而大部分用户并不会使用。此外,这样的高分辨率将可能消耗更多的能量,这将降低电池的使用寿命。因此,可以预计诸如QCIF和QVGA等较低的分辨率将占主导地位。
就显示屏上的色彩数量而言,256至65,536种色彩中的任一数量都很常见。除了小分辨率之外,用户通常将显示屏拿得离眼睛很近,这使眼睛到像素的平均角度与PC系统相比更大。总之,这些显示条件意味着最终应当以比PC系统更高的质量来渲染移动电话上的每个像素。这有时被称作“逆屏幕大小渲染质量法则”。
移动电话具有较少资源有多种原因。因为它们通常由可充电电池供电,所以任何类型的渲染优选地都应当最好使用尽可能少的能量。此外,电池技术通常并不以摩尔定律的速率提高。而且,外部存储器访问通常是计算机系统内使用最大能量的操作。这意味着应当非常小心地使用带宽资源,并且峰值带宽是最为有限的。
为了使每个设备的成本很低,移动电话通常配备有非常小的存储器,小芯片区域专用于显示操作。少的可用带宽、小的芯片区域和小的存储器都有助于使每个设备的价格保持很低,但是更重要的是,在大多数情况下,这些因素还有助于比具有更多资源的系统使用更低的能量。实际移动电话数据的典型的示例是:1)每个时钟周期一个或一半32比特存储器访问,2)10-200MHz的CPU和3)1-16MB的较快的存储器。
三维图形的实时渲染在移动终端上具有多个吸引人的应用,包括游戏、人机接口、消息传送和移动商务。因为三维渲染通常是计算量很大的工作,所以通常必需建立专用的硬件以达到足够高的性能。因而,降低这一硬件结构的复杂性和带宽使用的创造性方法是非常重要的。
在大多数情况下,使用z缓冲器(深度缓冲器)解决可见性。通常都是这样,因为一般能够以任意顺序绘制三角形。因此,z缓冲器存储与从眼睛到三角形的距离成比例的距离,并且如果后一三角形比z缓冲器的内容更远,则色彩和z缓冲器不被覆盖渲染(overdraw)。
而且,这还意味着图形系统并不十分聪明,因为可能对一个像素进行多次覆盖渲染。而且,即使多次重写一像素,最终也仅可以看见一个几何图元(primitive)(三角形)。模拟物是绘制在帆布上的,其中最底层的涂层被最前面的涂层所遮掩。对于图形系统来说,同样如此,但是可以以任意顺序绘制。
为移动平台实现上述目的同样非常重要,通常希望应当尽可能地降低主存储器的带宽使用,因为这样的存储器访问用掉了绝大部分能量,而能量通常是稀缺资源。
当今,存在多种使用遮挡剔除形式的显示卡(NVIDIA Geforce3和更高版本、ATI Radeon)。将屏幕划分成例如8×8个区域(称作碎片tile),并且为每个碎片,将该碎片的z缓冲器中的z值的最大值zmax存储在高速缓冲存储器(快速且不耗费能量)。当渲染三角形时,在转向下一个碎片之前访问一个碎片内的所有像素,当遇到新的碎片时,计算关于该碎片中的三角形的最小z值,即zmin(或者可以使用某个低成本的较不准确的方法来过估计最小的z值)。如果zmin大于该碎片的zmax,则遮挡(遮住)当前渲染的三角形,且通常无需进一步为该三角形而处理该碎片。如果该碎片未被遮挡,则正常处理该碎片内的像素,即,测试该三角形中所包含的像素,进行z-测试,以及纹理化等。
授权给Morein的“Method and apparatus for efficient clearing ofmemory”的美国专利No.6,421,764(在Akenine-Mller Tomas,and EricHaines,Real-Time Rendering,2nd edition,June 2002,pp.694-697中进行了描述)描述了一种有效清除存储器的方法。并不清除z-缓冲器(例如),而是为各碎片(例如8×8区域)设置标记。随后,当首次访问该碎片时,因为设置了标记,所以可以不必读取该块中的像素,而是从快速片内存储器中读取“清除值”。当首次对该碎片进行写入时,使标记复位。这样,在清除过程中只接触了一部分存储器,这可以节省能量和带宽。
通常希望使主存储器尽量保持低的带宽使用,从而获得更佳的性能并节省(电池)能量。为了在三角形上内插纹理(图像)数据和z坐标等,可能需要存储若干参数,并将用于特定像素的参数组称作场景。当移动到另一像素时,可以更新此场景。使用的场景越多,该解决方案在硬件的门电路方面可能变得更为昂贵。
通常希望将门电路的数量保持得尽可能地少,从而获得成本经济的解决方案。当前已知的一些在移动到下一个碎片之前访问碎片内的所有像素的方法需要4或5个完整场景(参见McCormack,Joel and RobertMcNamara,“Tiled Polygon Traversal Using Half-Plane Edge Functions”,Workshop on Graphics Hardware,pp.15-22,August 2000,和Kelleher,Brian,“Pixel Vision Architechture”,Digital Systems Research Center,no.1998-013,October 1998)。对于移动平台来说,这可能成本过高。还应当指出,可以使用z-max技术,但是其潜在问题在于在对三角形进行了渲染之后更新z-max可能较昂贵,因为需要读取整个碎片内的所有z值才能更新z-max。当前使用z-max的解决方案通过读取整块的z值解决这个问题。这是可能的,因为与移动平台相比,它们通常具有更宽的到主存储器的带宽,因而能够承受这种解决方案。
通常,尚未发表对整个系统进行说明的低成本架构。有两个值得注意的例外,即Neon(在McCormack,Joel,and Robert McNamara,“TiledPolygon Traversal Using Half-Plane Edge Functions”,Workshop on GraphicsHardware,pp.15-22,August 2000中描述)和像素视觉架构(在Kelleher,Brian,“Pixel Vision architecture”,Digital Systems Research Center,no.1998-013,October 1998中描述)。Imagination Technologies具有称作MBX的系统,该架构是基于碎片的,因此z-缓冲器、后置缓冲器和模板缓冲器仅需要为碎片大小,如32×16个像素。通常用快速片内存储器实现该存储器。初始时,一遍需要将所有几何图形排序成多个碎片,这需要存储器以及存储器带宽。当完成这一排序后,对各碎片内的几何图形进行光栅化。在光栅化的过程中,首先分辨可见性,随后仅在可见的片段上执行纹理化和遮蔽。这称作延迟遮蔽。为了与碎片排序并行地进行碎片光栅化,每个碎片需要两个缓冲器。没有很多关于MBX结构的信息,因此,除了避免了用于缓冲器的存储器之外,并不清楚实际的好处是什么。很显然,这种结构节省了能量。然而,并未记载节省了多少。
为了以子像素的精确度来执行多边形的光栅化,可以使用改进的Bresenham算法,如在Lathrop,O.,Kirk,D.,and Voorhies,“Accurate renderingby subpixel addressing”,IEEE Computer Graphics and Applications 10,5(September 1990),pp.45-53中描述的。通常使用的替代方式是使用边缘函数,如在Pineda,J.,“A parallel algorithm for polygon rasterization”,Proceedings of SIGGRAPH 1988,ACM,pp.17-20页(1988)中描述的,其中将三角形内的区域描述为三角形边的正半空间的逻辑交集。因而,可以使用不同的策略来找出三角形内的像素。这称作遍历。根据这些策略的效率如何,在遍历过程中需要不同数量的场景(内插参数等)。各个场景通常消耗相当多的门电路。
图1示出了根据Pineda的Z字形遍历方案的三角形遍历。由浅灰色或深灰色标记的像素是遍历方案所接触到的像素。由深灰色标记的像素是遍历算法找到的在三角形内的像素。Z字形遍历算法所采用的路径如带箭头的路径所示。基本上,在第一扫描线上自右向左遍历三角形,直到处于三角形外部。然后,向上一步。如果之后处于三角形内部,则需要在相同方向内继续遍历,直到处于三角形外部。这称作后向跟踪。当处于三角形外部时,反转遍历方向,并开始光栅化当前的扫描线,这次是从左向右。当处于三角形外部时,再向上一步,如此继续。
图1中示出了一个示例。在最底部的扫描线上,设置一个像素,但是向左的下一个像素处于三角形外部。这意味着应当向上一步。在这一步骤之后,处于三角形内部,并且必需后向跟踪,即继续向左,直到处于三角形外部。在一个像素之后,处于三角形外部,可以反转遍历方向(从右至左变到从左至右),并开始光栅化第二扫描线。找出应当处于三角形内部的两个像素,此后处于三角形外部,并且必需向上一步。这一次已经处于三角形外部,无需后向跟踪。因此,可以反转遍历方向,并开始对第三扫描线进行光栅化,如此继续。
每次遇到发现处于三角形内部的像素,需要搞清是否应当绘制它。因而,计算在该点上的三角形的z值,在此称作z-tri(x,y),其中(x,y)是该点的坐标。随后,从z缓冲器中提取该点的z值,称作z-buf(x,y)。如果z-tri(x,y)>=z-buf(x,y),则不执行任何操作。然而,如果z-tri(x,y)<z-buf(x,y),则应当绘制该像素,同时利用z-tri(x,y)值更新z-缓冲器。在伪代码中,可以如下:
calculate z-tri(x,y)
fetch z-buf(x,y)from z-buffer
if(z-tri(x,y)<z-buf(x,y))
{
write z-tri(x,y)to z-buffer
write color in color-buffer
}
应当指出if语句可以变成任意深度测试if(depthtest(z-tri(x,y),z-buf(x,y)))。为了提高相关性的利用率等级,并为了简化遮挡剔除算法,图形硬件通常以成片的方式遍历三角形所覆盖的像素(参见Kelleher,Brian,“Pixel Vision architecture”,Digital Systems Research Center,no.1998-013,October 1998;McCormack,Joel,and Robert McNamara,“TiledPolygon Traversal Using Half-Plane Edge Functions”,Workshop on GraphicsHardware,pp.15-22,August 2000;授权给Morein的美国专利No.6,421,764)。这意味着在移动到另一个碎片之前访问处于碎片(如8×8区域)内的所有像素。为此需要不同的遍历策略,这将在必须存储的场景数目方面增加成本。例如,McCormack和McNamara描述了一种与相应的非成片遍历相比需要多一个场景的成片遍历算法。对于该成片遍历算法,总共需要四个场景。
分级z-缓冲器算法使用z-金字塔,其中金字塔的各级中的各像素存储其四个孩子的z值中的最大值(在下面的等级中的),如在Greene,N.,Kass,M.,and Miller,G.,“Hierarchical z-buffer visibility”,Proceedings ofSIGGRAPH 1993,ACM,pp.231-238(1993);美国专利US 5,600,763和美国专利US 5,579,455等中描述的。因而,在金字塔的顶端处,存储整个画面上所有z值的最大值。这个金字塔用于执行遮挡剔除。当对一组几何图形进行渲染时,针对z-缓冲器内的适当等级,扫描转换和测试该组的界限量值以确定该组是否可见。当用软件实现时这种算法非常有效,然而还不存在成熟的硬件实施方式。然而,商品图形硬件通常具有形式更为简单的遮挡剔除。Morein,S.,“ATI radeon Hyperz technology”,Workshop on Graphics Hardware,Hot3D Proceddings,ACMSIGGRAPH/Eurographics。Morein(2000)描述了一种技术,其中各碎片存储可以是一片(诸如8×8像素)内的z值的最大值zmax。在三角形的遍历过程中,当访问新碎片时进行测试,确定三角形的“最小”z-值是否大于相应碎片的zmax。如果大于,则跳过该碎片,否则照常对该碎片进行渲染。应当指出,为了更新zmax,必需读取该碎片的所有z值,这可能较昂贵。
发明内容
根据本发明的一些实施例,在包括多行像素的图形显示场中定义多行碎片,各碎片包括至少两行像素中的像素。根据图元的一行碎片的各碎片的代表深度值是否满足遮挡准则,设置该一行碎片中的各碎片的遮挡标记(例如,赋值以显示未遮挡,可能遮挡,其它遮挡状态)。响应于该遮挡标记,以逐行的方式针对图元,处理与该一行碎片对应的像素行中的像素。该处理可以包括:响应于遮挡标记,处理一行碎片的第一碎片中的一部分像素,随后,在响应于遮挡标记处理第一碎片中的其它像素之前,响应于遮挡标记处理该一行碎片的第二碎片中的像素。该处理可以包括使用Z字形遍历算法处理碎片行中的像素行。
在本发明的其它实施例中,将遮挡标记存储在碎片遮挡信息高速缓存中,该高速缓存被配置为存储一行碎片中的各碎片的各自遮挡标记,为该一行碎片的各碎片存储各自的遮挡阈深度值。设置遮挡标记包括确定一个碎片的图元的最大深度值,比较该最大深度值与在碎片遮挡信息高速缓存中所缓存的该碎片的遮挡阈深度值,并响应于该比较,设置该碎片的遮挡标记。
根据其它实施例,将深度缓冲器配置为:对于图形显示场的各个像素存储各自的遮挡阈深度值。设置遮挡标记包括将碎片的遮挡标记设置为表示未遮挡,并且处理像素包括:检测该碎片的遮挡标记表示未遮挡,并在不从深度缓冲器中提取该像素的遮挡阈深度值的情况下,响应性地处理该碎片中的图元的像素。
该方法还包括:确定该像素的图元的深度值,比较所确定的像素的图元的深度值与在碎片遮挡信息高速缓存中存储的该碎片的遮挡阈深度值,并响应于比较结果,将碎片遮挡信息阈值高速缓存中的该碎片的遮挡阈深度值更新为所确定的该像素的图元的深度值。
在其它实施例中,设置遮挡标记包括将碎片的遮挡标记设置为表示未遮挡,并进行如下处理像素:建立一总体碎片遮挡信息存储器,其被配置为存储所有碎片行的各自遮挡阈深度值;并利用来自该总体碎片遮挡信息存储器的遮挡阈深度值来填充该碎片遮挡信息高速缓存。更新了碎片遮挡信息阈值高速缓存中的该碎片的遮挡阈深度值之后,根据该碎片遮挡信息高速缓存更新总体碎片遮挡信息高速缓存中的阈遮挡深度值。
在本发明的又一实施例中,将遮挡标记存储在碎片遮挡信息高速缓存中,所述高速缓存被配置为存储一行碎片的各碎片的各自遮挡标记、该一行碎片的各碎片的各自遮挡阈深度值,以及该一行碎片的各碎片的各自状态标记。根据该碎片遮挡信息高速缓存,处理该一行碎片中某处的第一行像素,其中第一行像素的处理包括将第一行碎片内的至少一个碎片的遮挡和状态标记设置为表示已经确定了至少一个碎片的遮挡状态。随后,确定下一行像素是否在第一行碎片内。如果是,则使用从第一行像素获得的碎片遮挡高速缓存中的信息处理下一行像素。如果不是,则清除碎片遮挡信息高速缓存中的遮挡和状态标记信息、更新碎片遮挡信息高速缓存中的遮挡阈深度值、随后将来自该碎片遮挡信息高速缓存的相应遮挡阈值写入总体碎片遮挡信息存储器中,然后将遮挡阈值从总体碎片遮挡信息存储器读取到与下一行碎片对应的碎片遮挡信息高速缓存中。随后,使用更新后的碎片遮挡高速缓存来对下一行像素进行处理。
根据本发明的其它方面,在图形显示场内定义多行碎片,每个碎片包括多个像素。将一个碎片的遮挡标记设置为表示该碎片中的图元未遮挡。响应于检测到该碎片的遮挡标记表示未遮挡,处理该碎片中的图元的一个像素。可以在不从深度缓冲器中提取该像素的遮挡阈深度值的情况下处理该像素,这可以降低从深度缓冲器中进行读取的频率。
本发明可以实施为方法、设备和计算机程序产品。例如,本发明可以有利地用于便携式电子设备中,例如移动无线终端、个人数字助理(PDA)等。
附图说明
图1示出了现有技术的Z字形遍历技术。
图2到图8示出了根据本发明一些实施例的示例性图形处理操作和设备。
图9示出了根据本发明其它实施例的包括图形设备的示例性便携式电子设备。
具体实施方式
下面将参照附图更全面地描述本发明,在附图中图示了本发明的示例性实施例。提供这些实施例,以使本申请全面和完整的。在全文中,相同的标号表示相同的单元。
在下文中参考图2至图6所描述的本发明的一些示例性实施例可以以三种新的方式扩展Pineda Z字形遍历方法:
1)可以将z-缓冲器划分成例如8×8像素的非重叠碎片。
2)可以在系统中包括称作tileinfo的存储器(先前称作“总体碎片遮挡信息存储器”),其中存储有与该碎片相关的信息。对于每个碎片,可以存储具有该碎片内所有z值中的最小值的z-min变量。例如,如果画面分辨率为176×144,碎片大小为8×8,则碎片数量为176/8×144/8=22×18=396。因而,tileinfo必需能够保存396个z-min值或396×2=792个字节,如果每个z-min值是2字节的话。为了获取特定碎片的z-min的地址,可以使用该像素的x-坐标和y-坐标。例如,在具有176×144个像素和8×8个碎片的上述示例中,可以将地址计算为(y/8)*22+x/8,其中“/”表示整除。
3)可以包括称作rowtileinfo的高速缓冲存储器(先前称作“碎片遮挡信息高速缓存”),它能够存储一行碎片的相关信息。可以为该行中的每个碎片存储三条信息,即:
·“z-min-cached”,它是可在tileinfo内获得的被高速缓存的z-min。与普通的高速缓存一样,可以在不更新tileinfo中的z-min的情况下更新z-min-cached的值。在处理了整行碎片之后,必需将z-min-cached写回到tileinfo中的z-min。
·“visited”,它是1比特的状态标记;和
·“visible”(先前称作“未遮挡标记”),它也是1比特的标记。
高速缓冲存储器可以足够大以存储与整行碎片相关的信息。例如,如果分辨率是176×144,碎片大小是8×8,则一行碎片等于176/8=22个碎片,rowtileinfo必需能够存储用于22个碎片的“z-min-cached”、“visited”和“visible”。如果z-min-cached占用16比特,则可以仅使用22×(16+1+1)比特,即396比特=49.5字节来创建整个rowtileinfo。因而,rowtileinfo远小于tileinfo,这意味着它可以快速且节省能量地通过片内硬件来实现。还应当指出rowtileinfo始终保存与当前碎片行相关的信息。因而,当从一碎片行内的最后扫描线进行到下一碎片行的第一扫描线时,rowtileinfo和tileinfo被更新。为了计算rowtileinfo中的数据的地址,仅需要该像素的x坐标。可以忽略y坐标的原因在于rowtileinfo仅处理一行碎片。例如,如果相继存储了所有z-min-cached,则可以使用x/8计算地址,其中“/”表示整除。
4)第四个附加方式是基于z-min的选择算法,其利用Z字形遍历方案、碎片结构、tileinfo存储器和rowtileinfo存储器,节省了存储器访问。现在将详细描述该算法如何运行。
将以多个步骤来描述该算法,其中将与先前相比更详细地描述每个步骤:第一步表示如何光栅化三角形;第二步表示如何光栅化扫描线;第三步并且最后步骤表示如何光栅化像素(写入帧缓冲器)。然而,将以说明如何清除缓冲器开始,这是因为这通常在任一三角形的光栅化之前每帧至少执行一次。
清除
在绘制之前,通常通过将所有值设置为预定义的值来清除z-缓冲存储器。通常,该预定义的值是到远平面(far plane)的距离,z_far,在我们的系统中,还通过将z_far代入所有z-min变量来清除tileinfo。还清除rowtileinfo存储器。通过将rowtileinfo中的所有碎片的标记“visited”设置为“false”来执行这一步骤。应当指出,优选地每帧清除一次z-缓冲器和tileinfo,而不是在每个三角形之间。然而,每次清除rowtileinfo,都进行到一新的碎片行,下面参考图2更详细地描述。
三角形的光栅化
根据本发明的一些实施例,可以按照图2的“三角形的处理”来进行光栅化。首先,将rowtileinfo中的所有碎片的“visited”标记设置为false(101)。随后,处理一个扫描线(102)。下面参考图3更详细地描述如何执行该步骤。在处理了扫描线之后,检查下一行是否将是在与当前行不同的碎片内。例如通过检查下式来执行该步骤(103):
(y+1)mod tilesize==0;
其中y是当前扫描线的行,mod是取模操作符,tilesize是在y方向上的碎片大小。如果下一行在不同的碎片上,则需要将rowtileinfo中的信息写回到tileinfo内(104)。还希望将所有“visited”标记设置为false(105)。这可以使用下面的伪代码来实现:
for all tiles in rowtileinfo
{
if visited==true
{
write back z-min-cached to corresponding z-min in tileinfo;
}
visited=false;
}.
在通过上述方式更新了rowtileinfo和tileinfo之后,在y方向上向上前进一个像素(106)。还在x方向上反转步进方向(107)。测试是否已经到达三角形的末端(108)。如果是,则停止,否则返回到处理下一个扫描线(102)。
扫描线的处理
图3示出了当进行到新的扫描线时应当进行的处理。首先在“dir”的相反方向上步进,直到处于三角形的该边沿之外(201)(如果已经在外部,则根本无需步进)。随后,在“dir”方向上步进(202),直到在另一侧上完全处于三角形的外部(203),例如,假如朝右步进,则需要朝右步进,直到整个三角形位于测试的当前位置的左侧。可能仅步进一次是不够的,因为刚刚到达新的扫描线,可能处于三角形外部几个像素。对于各步骤测试是否处于三角形内部(204)。如果不是,则在“dir”方向上再前进一步(202)。如果在内部,则检查rowtileinfo中的相应碎片的已访问标记(205)。如果已访问标记为false,则尚未访问该碎片,必需初始化在该碎片的rowtileinfo中的信息(206)。下面参考图4来详细描述如何执行这一步骤。如果已访问标记为true,则rowtileinfo内的信息已经是最新的,可以使用它。因而,测试可见标记是否为true(207)。如果为true,则可以使用快速方式写入像素,而无需读取z-缓冲器,在此称作“写入可见(write visible)”(209),下文中将参考图5更详细地描述该步骤。如果已访问标记为false,则将使用光栅化像素的常规方式,在此称作“写入常规(write normal)”(208),将参考图6详细描述该步骤。此后,将向回步进到另一像素(202)。
初始化一碎片的rowtileinfo
图4示出了如何初始化一碎片的rowtileinfo。通过将z-min值从tileinfo读取到rowtileinfo中的z-min-cached值来开始。此后,计算称作z-tri-max的数值,它大于或等于在当前碎片中三角形可以假定的所有可能的z值(302)。一种计算z-tri-max的方式是使z-tri-max为三角形顶点的z值中的最大值。如果三角形顶点的坐标是(x_A,y_A,z_A),(x_B,y_B,z_B),(x_C,y_C,z_C),则可以将z-tri-max计算为:
z-tri-max=max(z_A,max(z_B,z_C))。
另一种方式是使z-tri-max为碎片中三角形平面可以假定的最大z值。在计算出z-tri-max之后,随后检查是否z-tri-max<z-min-cached(303)。如果是,则确定该碎片内的三角形的所有像素将是可见的(未被先前渲染的原始图片所遮挡),因此,将标记“visible”设置为true(304)。否则,可以将“visible”设置为false(305)。最后,将rowtileinfo中的相应碎片的“visited”标记设置为“true”(306)。
“写入可见”--写入已知为可见的像素
图5示出了当对于在与该像素对应的rowtileinfo中的碎片,“visible”和“visited”标记都为true的情况下应当如何写入像素。
如果“visible”标记为true,则可以在不读取z-缓冲器的情况下绘制像素。确保该像素是可见的。然而,因为正在绘制新像素,所以可以绘制z值比当前z-min-cached小的像素。因而,应当相应地更新z-min-cached。通过首先计算z-tri(x,y)(401),随后将z-tri(x,y)写入z-缓冲器(深度缓冲器)并将色彩写入色彩-缓冲器(402),可以执行上述步骤。在此,(x,y)是所处理像素的坐标。接着,检查是否z-tri(x,y)<z-min-cached(403)。如果小于,则应当更新z-min-cached(404)。
写入常规--如果“visited”为false
如果“visited”标记为true,但是“visible”标记为false,则应当读取z-缓冲器以获知是否应当设置色彩。在碰巧将小于z-min-cached的z值写入缓冲器的情况下,还应当更新z-min-cached。这一步骤如图6所示。首先,从z-缓冲器中读出z-buf(501)。随后,计算z-tri(x,y)(502)。接着,检查是否z-tri(x,y)<z-buf(x,y)(503)。如果不是,则该像素不可见,并停止。否则,将z-tri(x,y)写入z-缓冲器,并将色彩写入色彩-缓冲器(504)。还检查是否z-tri(x,y)<z-min-cached(505)。如果是,则应当用z-tri(x,y)更新z-min-cached。否则,完成处理并可以停止。
其它示例性实施例
图7中示出了根据本发明一些其它方面的通用示例性图形处理操作。在图形显示场内定义碎片行,这些碎片包括多行像素(710)。设置一行碎片中的碎片的遮挡标记,即,根据代表深度值是否符合遮挡标准,如上所述地,为图元给出一数值以表示未遮挡或可能遮挡(720)。例如,遮挡标记可以是如上所述的rowtileinfo高速缓存的“visibility”标记。如上所述,可以比较例如图元(例如三角形)的z-max值与所缓存的遮挡阈值z-value,来设置标记。响应于遮挡标记,例如使用如上所述的Z字形遍历算法,逐行地处理碎片行内的像素(730)。应理解在处理(例如提供)该行中的像素之前,不需要对于该碎片行设置所有遮挡标记和/或深度值,因为通常是在处理了该行中的一个或多个像素之后可以更新遮挡标记和/或深度值,如从方框720到方框730的环回所示。如上所述,当通常根据图元的几何图形处理了一扫描线并在进行了其它扫描线的后续处理之后重新访问一些或全部碎片时,逐行处理可能导致一些碎片的部分访问。
图8示出了根据本发明其它方面的其它通用示例性操作。在图形显示场内定义多个碎片(810)。将遮挡标记,如rowtileinfo高速缓存中的“visibility”标记设置为表示图元在碎片中未被遮挡(820)。随后,例如在扫描线遍历中的像素处理过程中,检测出像素所在的碎片具有表示未遮挡的遮挡标记(830)。随后,根据标记状态的检测结果,处理该像素(840)。例如,如在上述实施例中讨论的,如果遮挡标记表示未遮挡,则可以简单地将该像素的色彩值和z值分别写入色彩缓冲器和z-缓冲器,而无需提取该像素的z-缓冲值。如上面所解释的,这可以使得在处理一帧时从z-缓冲器(可以将其存储在较慢的片外存储器内)中进行读取时所消耗的带宽减少。
图9示出了根据本发明其它实施例的示例性设备910,其中可以执行图形处理操作,例如在此参考图2至图8所描述的操作。在此表示为在便携式电子设备900(例如移动无线终端、PDA或类似设备)内实施的设备910包括显示器912和图形处理器910,该图形处理器9l0被配置为实现参考图2至图8所描述的一个或全部图形处理操作。图形处理器914可以包括以专用集成电路(ASIC)实现的例如微处理器芯片、微控制器芯片、数字信号处理器(DSP)芯片、视频处理器芯片、专用处理器,及其组合。图形处理器914还可以包括存储器,其被配置为存储计算机代码,并被配置为当在图形处理器914中运行时执行在此所述的图形处理操作。存储器例如可以包括:集成在微处理器、DSP、视频处理器芯片或类似计算设备内的片内存储器(例如高速缓冲存储器),其可以用于实现碎片遮挡信息的高速缓存(例如上述的rowtileinfo);以及分立存储器(例如DRAM、SRAM、闪存等),其被配置为与该计算设备交互操作,并可以用于存储更大量的数据,例如存储显示场内的所有像素的z-缓冲器和色彩缓冲器数据。
在本申请中,图2至图9示出了根据本发明实施例的示例性设备和操作。应当理解可以使用例如在诸如无线电话和PDA等便携式电子设备中的图形处理电路中的一个或多个电子电路,来实现这些图中所示的操作及其组合。通常还应当理解,可以在一个或多个电子电路内,例如在一个或更多个分立的电子组件、一个或更多个集成电路(IC)、一个或更多个专用集成电路(ASIC)和专用电路模块内,并通过可以由计算机或诸如微处理器或数字信号处理器(DSP)等其它数据处理设备执行的计算机程序指令,来生成机器以使得在计算机或其它可编程数据处理设备上执行的指令创建实现指定操作的电子电路或其它装置而实现该图中图示的操作及其组合。计算机程序指令还可以在一个或更多个计算机或其它数据处理设备上执行,以使处理器或其它可编程设备执行一系列动作来生成包括指定操作的由计算机实现的处理。
计算机程序指令还可以以计算机程序产品的形式内嵌在计算机可读存储介质中,即作为嵌入由指令执行系统所使用的或与其相结合的介质中的计算机可读程序代码。计算机可读存储介质可以包括但是并不限于电、磁、光或其它存储介质,如磁盘或光盘或集成电路存储设备。例如,计算机程序指令可以嵌入包括在诸如计算机的设备中的存储器中。因此,图2至图9的框图支持执行规定操作的电子电路和其它设备,用于执行指定操作的动作以及配置为执行规定操作的计算机程序产品。
在附图和说明书中,已经公开了本发明的示例性实施例。尽管使用了专用术语,但是这些术语仅是出于总结和描述性的目的,而不是为了限制性的目的。
Claims (28)
1、一种图形处理方法,包括:
在包括多行像素的图形显示场中定义多行碎片,各个碎片包括来自至少两行像素的像素;
根据图元的一行碎片中的碎片各自的代表深度值是否满足遮挡标准,为该一行碎片中的各个碎片设置遮挡标记;
响应于所述遮挡标记,以逐行的方式处理在与所述图元的所述一行碎片对应的像素行中的像素。
2、根据权利要求1所述的方法,其中处理像素的步骤包括:
响应于所述遮挡标记,处理所述一行碎片的第一碎片中的一部分像素;随后
在响应于所述遮挡标记对所述第一碎片中的其它像素进行处理之前,响应于所述遮挡标记对所述一行碎片的第二碎片中的像素进行处理。
3、根据权利要求2所述的方法,其中处理像素的步骤包括使用Z字形遍历算法处理所述一行碎片中的像素行。
4、根据权利要求2所述的方法:
其中将遮挡标记存储在碎片遮挡信息高速缓存中,所述碎片遮挡信息高速缓存被配置为存储一行碎片中的各个碎片的各自遮挡标记,以及该行碎片中的各个碎片的各自遮挡阈深度值,并且其中设置遮挡标记的步骤包括:
确定一个碎片的图元的最大深度值;
比较所述最大深度值与在所述碎片遮挡信息高速缓存中所高速缓存的所述碎片的遮挡阈深度值;以及
响应于所述比较,设置所述碎片的遮挡标记。
5、根据权利要求4所述的方法,还包括:
建立深度缓冲器,其被配置为存储所述图形显示场的各个像素的各自遮挡阈深度值;并且
其中设置所述遮挡标记的步骤包括将碎片的遮挡标记设置为表示未遮挡;并且
其中处理像素的步骤包括:
检测所述碎片具有表示未遮挡的遮挡标记;以及
在不从所述深度缓冲器中提取所述像素的遮挡阈深度值的情况下,响应性地处理所述碎片中的图元的像素。
6、根据权利要求5所述的方法,还包括建立色彩缓冲器,其被配置为存储所述图形显示场的所述像素的各自色彩值,并且其中在不从所述深度缓冲器中提取所述像素的遮挡阈深度值的情况下响应性地处理所述碎片中的图元的像素的步骤包括分别在所述色彩缓冲器和所述深度缓冲器中响应性地存储所述图元的色彩值和深度值。
7、根据权利要求6所述的方法,其中将所述遮挡标记存储在碎片遮挡信息高速缓存中,所述碎片遮挡信息高速缓存被配置为存储一行碎片中的各个碎片的各自遮挡标记、该一行碎片中的各个碎片的各自遮挡阈深度值,并且其中所述方法还包括:
确定所述像素的图元的深度值;
比较所确定的像素的图元的深度值与在所述碎片遮挡信息高速缓存中的所述碎片的遮挡阈深度值;以及
响应于所述比较,将在所述碎片遮挡信息阈值高速缓存中的所述碎片的遮挡阈深度值更新为所确定的该像素的图元的深度值。
8、根据权利要求7所述的方法:
其中设置遮挡标记的步骤包括将碎片的遮挡标记设置为表示未遮挡,并且其中通过如下步骤来进行处理像素的步骤:
建立总体碎片遮挡信息存储器,其被配置为存储所有碎片行的各自遮挡阈深度值;以及
利用来自总体碎片遮挡信息存储器的遮挡阈深度值填充所述碎片遮挡信息高速缓存;并且
其中在更新了所述碎片遮挡信息阈值高速缓存中的所述碎片的遮挡阈深度值之后,根据所述碎片遮挡信息高速缓存更新所述总体碎片遮挡信息存储器中的阈遮挡深度值。
9、根据权利要求1所述的方法,还包括:
建立深度缓冲器,其被配置为存储所述图形显示场的各个像素的各自遮挡阈深度值;并且
其中设置遮挡标记的步骤包括将碎片的遮挡标记设置为表示可能的遮挡;并且
其中处理像素的步骤包括:
检测所述碎片具有表示可能遮挡的遮挡标记;以及
响应于检测出所述碎片具有表示可能遮挡的遮挡标记,比较所述碎片中的像素的图元的深度值与所述深度缓冲器中的所述像素的遮挡阈深度值;
响应于所述比较,处理所述像素;以及
响应于所述像素的写入z值,更新所述碎片遮挡信息高速缓存中的所述碎片的遮挡阈深度值。
10、根据权利要求9所述的方法,还包括建立色彩缓冲器,其被配置为存储所述图形显示场的各个像素的各自色彩值,并且其中处理像素的步骤包括分别在所述色彩缓冲器和所述深度缓冲器中存储色彩值和深度值,如果所述碎片中的像素的图元的深度值与所述深度缓冲器中的所述像素的遮挡阈深度值的比较结果表示未遮挡,则响应于所述像素的写入z值,更新所述碎片遮挡信息高速缓存中的所述碎片的遮挡阈深度值。
11、根据权利要求1所述的方法,其中将遮挡标记存储在碎片遮挡信息高速缓存中,所述碎片遮挡信息高速缓存被配置为存储一行碎片中的各个碎片的各自遮挡标记、该一行碎片中的各个碎片的各自遮挡阈深度值以及该一行碎片中的各个碎片的各自状态标记,其中所述方法还包括:
响应于所述碎片遮挡信息高速缓存,处理第一行像素,其中处理第一行像素的步骤包括将第一行碎片中的至少一个碎片的遮挡标记和状态标记设置为表示已经确定了所述至少一个碎片的遮挡状态;
确定第二行像素是否在所述第一行碎片中;并且
如果第二行像素处于所述第一行碎片中,则使用从所述第一行像素获得的碎片遮挡高速缓存中的信息对第二行像素进行处理。
12、根据权利要求11所述的方法,其中通过如下步骤来处理第一行像素:
建立总体碎片遮挡信息存储器,其被配置为存储所有碎片行中的所有碎片的各自遮挡阈深度值;
将所述碎片遮挡信息高速缓存的遮挡标记和状态标记设置为预定值;以及
将来自所述总体碎片遮挡信息存储器的第一行碎片的遮挡阈深度值存储在所述碎片遮挡信息高速缓存中。
13、根据权利要求1所述的方法,其中将所述遮挡标记存储在碎片遮挡信息高速缓存中,所述碎片遮挡信息高速缓存被配置为存储一行碎片中的各个碎片的各自遮挡标记、该一行碎片中的各个碎片的各自遮挡阈深度值以及该一行碎片中的各个碎片的各自状态标记,其中所述方法还包括:
建立总体碎片遮挡信息存储器,其被配置为存储所述多行碎片的所有碎片的各自遮挡阈深度值;
响应于所述碎片遮挡信息高速缓存,处理第一行像素,其中处理第一行像素的步骤包括将具有第一行像素中的像素的第一行碎片的遮挡标记和状态标记设置为表示已经确定了第一行中的至少一个碎片的至少一个遮挡状态;
确定第二行像素是否在所述第一行碎片内;以及
响应于对于第二行像素在第二行碎片中的确定,将来自碎片遮挡信息高速缓存的遮挡阈深度值写回到碎片遮挡信息高速缓存中的总体碎片遮挡信息,利用来自所述总体碎片遮挡信息存储器的第二行碎片的相应遮挡阈深度值将所述遮挡阈深度值填充到所述碎片遮挡信息高速缓存中,并且使用经过更新的碎片遮挡高速缓存处理第二行像素。
14、根据权利要求13所述的方法,其中确定第二行像素是否在第一行碎片中之后,响应于对于第二行像素处于第二行碎片中的确定,利用来自碎片遮挡高速缓存的遮挡阈深度值更新所述总体碎片遮挡信息存储器中的第一行碎片的遮挡阈深度值。
15、一种设备,包括:
显示器;和
图形处理器,连接到所述显示器,并进行操作来在所述显示器的图形显示场中限定多行碎片,各个碎片包括来自至少两行像素的像素,根根据图元的一行碎片的碎片各自的代表深度值是否符合遮挡标准设置该一行碎片中的各个碎片的遮挡标记,并响应于遮挡标记,以逐行的方式处理在与该图元的所述一碎片对应的像素行中的像素。
16、根据权利要求15所述的设备,其中所述图形处理器进行操作以响应于所述遮挡标记处理该一行碎片的第一碎片中的一部分像素,随后,在响应于所述遮挡标记处理该第一碎片中的其它像素之前,响应于所述遮挡标记,处理该一行碎片的第二碎片中的像素。
17、根据权利要求15所述的设备,其中所述图形处理器进行操作以使用Z字形遍历算法处理所述一行碎片中的像素行。
18、根据权利要求15所述的设备,其中代表深度值包括所述碎片中的图元的最大深度,并且其中所述遮挡标准为所述碎片中的图元的最大深度是否小于预先建立的该碎片的最小未遮挡深度值。
19、根据权利要求15所述的设备,其中所述显示器和所述图形处理器安装在便携式电子设备中。
20、一种设备,包括:
显示器;和
图形处理器,连接到所述显示器,并进行操作以在图形显示场中限定多行碎片,各个碎片包括多个像素,将碎片的遮挡标记设置为表示该碎片中的图元未遮挡,检测该碎片具有表示未遮挡的遮挡标记,并且响应性地处理所述碎片中的图元的像素。
21、根据权利要求20所述的设备,其中所述图形处理器进行操作以维护深度缓冲器,所述深度缓冲器被配置为存储所述显示器的图形显示场的各个像素的各自遮挡阈深度值,并在不从所述深度缓冲器中提取遮挡阈深度值的情况下处理所述像素。
22、根据权利要求20所述的设备,其中所述图形处理器进行操作以维护碎片遮挡信息高速缓存,所述碎片遮挡信息高速缓存被配置为存储一行碎片的各个碎片的各自遮挡标记和该一行碎片的各个碎片的各自遮挡阈深度值;确定碎片的图元的最大深度值;比较该最大深度值与在所述碎片遮挡信息高速缓存中所缓存的该碎片的遮挡阈深度值;并且响应于比较结果,设置该碎片的遮挡标记。
23、一种计算机程序产品,包括内嵌在计算机可读介质中的程序代码,所述程序代码包括:
被配置为执行以下操作的程序代码:在显示器的图形显示场中限定多行碎片,各个碎片包括来自至少两行像素的像素,根据图元的一行碎片中的碎片的各自代表深度值是否满足遮挡标准,为该一行碎片中的各个碎片设置遮挡标记,以及响应于所述遮挡标记,以逐行的方式处理在与图元的所述一碎片对应的像素行中的像素。
24、根据权利要求23所述的计算机程序产品,其中所述程序代码被进一步配置为响应于所述遮挡标记,处理所述一行碎片的第一碎片中的一部分像素;随后,在响应于所述遮挡标记对所述第一碎片内的其它像素进行处理之前,响应于所述遮挡标记对该一行碎片的第二碎片中的像素进行处理。
25、根据权利要求24所述的计算机程序产品,其中所述程序代码被进一步配置为使用Z字形遍历算法处理该行碎片中的像素行。
26、一种计算机程序产品,包括内嵌在计算机可读介质中的程序代码,所述程序代码包括:
被配置为执行以下操作的程序代码:在图形显示场中定义多行碎片,各个碎片包括多个像素,将碎片的遮挡标记设置为表示该碎片中的图元未遮挡;检测碎片具有表示未遮挡的遮挡标记,以及响应性地处理所述碎片中的图元的像素。
27、根据权利要求26所述的计算机程序产品,其中所述程序代码被进一步配置为维护深度缓冲器,所述深度缓冲器被配置为存储所述显示器的图形显示场的各个像素的各自遮挡阈深度值,以及在不从所述深度缓冲器中提取遮挡阈深度值的情况下处理所述像素。
28、根据权利要求1所述的计算机程序产品,其中所述程序代码被进一步配置为维护碎片遮挡信息高速缓存,所述碎片遮挡信息高速缓存被配置为存储一行碎片的各个碎片的各自遮挡标记以及该一行碎片的各个碎片的各自遮挡阈深度值,确定碎片的图元的最大深度值,以比较所述最大深度值与在所述碎片遮挡信息高速缓存中所高速缓存的该碎片的遮挡阈深度值,以及响应于所述比较,设置该碎片的遮挡标记。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US43490002P | 2002-12-20 | 2002-12-20 | |
US60/434,900 | 2002-12-20 | ||
US10/720,042 | 2003-11-21 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1739117A true CN1739117A (zh) | 2006-02-22 |
CN100339869C CN100339869C (zh) | 2007-09-26 |
Family
ID=36081257
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2003801064443A Expired - Lifetime CN100339869C (zh) | 2002-12-20 | 2003-12-11 | 使用最小深度遮挡剔除和z字形遍历的图形处理设备及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100339869C (zh) |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101783024A (zh) * | 2009-01-21 | 2010-07-21 | 三星电子株式会社 | 利用深度信息对深度噪声进行滤波的方法及设备 |
CN102411793A (zh) * | 2011-08-10 | 2012-04-11 | 上海福家网络科技有限公司 | 一种三维场景中的物体显示方法 |
CN102648483A (zh) * | 2009-12-07 | 2012-08-22 | 智能技术无限责任公司 | 捕获屏幕图像以及使用gpu识别屏幕图像改变的计算设备及方法 |
CN103310480A (zh) * | 2007-01-24 | 2013-09-18 | 英特尔公司 | 通过使用可置换的剔除程序提高图形性能的方法和装置 |
CN104715503A (zh) * | 2013-12-13 | 2015-06-17 | 想象技术有限公司 | 图形处理系统中的基元处理 |
CN105659291A (zh) * | 2013-10-23 | 2016-06-08 | 高通股份有限公司 | 选择性合并部分覆盖图块以执行分层z剔除 |
CN101802872B (zh) * | 2007-09-12 | 2016-06-15 | 爱立信电话股份有限公司 | 深度缓冲器压缩 |
CN106204407A (zh) * | 2014-07-03 | 2016-12-07 | 联发科技股份有限公司 | 图形处理系统及其相关图形处理方法 |
CN106415667A (zh) * | 2014-04-25 | 2017-02-15 | 索尼互动娱乐美国有限责任公司 | 具有增强的深度效果的计算机图形 |
CN107209951A (zh) * | 2015-02-26 | 2017-09-26 | 高通股份有限公司 | 单遍表面溅射 |
US11069024B2 (en) | 2013-12-13 | 2021-07-20 | Imagination Technologies Limited | Primitive processing in a graphics processing system with tag buffer storage of primitive identifiers |
WO2022134125A1 (zh) * | 2020-12-27 | 2022-06-30 | 华为技术有限公司 | 一种图形处理方法、装置及电子设备 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5245700A (en) * | 1989-11-21 | 1993-09-14 | International Business Machines Corporation | Adjustment of z-buffer values for lines on the surface of a polygon |
JPH09500994A (ja) * | 1993-07-27 | 1997-01-28 | タリジェント インコーポレイテッド | オブジェクト指向レンダリング・システム |
KR100277803B1 (ko) * | 1995-03-10 | 2001-01-15 | 가나이 쓰도무 | 3차원 그래픽 표시장치 |
WO2000011607A1 (en) * | 1998-08-20 | 2000-03-02 | Apple Computer, Inc. | Deferred shading graphics pipeline processor |
US6473082B1 (en) * | 1999-05-18 | 2002-10-29 | S3 Graphics Co., Ltd. | System and method for implementing a two-layer z-range buffer |
US6577307B1 (en) * | 1999-09-20 | 2003-06-10 | Silicon Integrated Systems Corp. | Anti-aliasing for three-dimensional image without sorting polygons in depth order |
-
2003
- 2003-12-11 CN CNB2003801064443A patent/CN100339869C/zh not_active Expired - Lifetime
Cited By (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10140750B2 (en) | 2007-01-24 | 2018-11-27 | Intel Corporation | Method, display adapter and computer program product for improved graphics performance by using a replaceable culling program |
CN103310480B (zh) * | 2007-01-24 | 2016-12-28 | 英特尔公司 | 通过使用可置换的剔除程序提高图形性能的方法和装置 |
CN103310480A (zh) * | 2007-01-24 | 2013-09-18 | 英特尔公司 | 通过使用可置换的剔除程序提高图形性能的方法和装置 |
CN101802872B (zh) * | 2007-09-12 | 2016-06-15 | 爱立信电话股份有限公司 | 深度缓冲器压缩 |
CN101783024A (zh) * | 2009-01-21 | 2010-07-21 | 三星电子株式会社 | 利用深度信息对深度噪声进行滤波的方法及设备 |
CN102648483A (zh) * | 2009-12-07 | 2012-08-22 | 智能技术无限责任公司 | 捕获屏幕图像以及使用gpu识别屏幕图像改变的计算设备及方法 |
CN102411793A (zh) * | 2011-08-10 | 2012-04-11 | 上海福家网络科技有限公司 | 一种三维场景中的物体显示方法 |
CN105659291A (zh) * | 2013-10-23 | 2016-06-08 | 高通股份有限公司 | 选择性合并部分覆盖图块以执行分层z剔除 |
CN105659291B (zh) * | 2013-10-23 | 2018-01-23 | 高通股份有限公司 | 选择性合并部分覆盖图块以执行分层z剔除 |
CN104715503A (zh) * | 2013-12-13 | 2015-06-17 | 想象技术有限公司 | 图形处理系统中的基元处理 |
US11748941B1 (en) | 2013-12-13 | 2023-09-05 | Imagination Technologies Limited | Primitive processing in a graphics processing system |
US11538215B2 (en) | 2013-12-13 | 2022-12-27 | Imagination Technologies Limited | Primitive processing in a graphics processing system |
US11069024B2 (en) | 2013-12-13 | 2021-07-20 | Imagination Technologies Limited | Primitive processing in a graphics processing system with tag buffer storage of primitive identifiers |
US11164365B2 (en) | 2013-12-13 | 2021-11-02 | Imagination Technologies Limited | Primitive processing in a graphics processing system |
CN104715503B (zh) * | 2013-12-13 | 2019-05-21 | 想象技术有限公司 | 图形处理系统中的基元处理 |
US10867433B2 (en) | 2013-12-13 | 2020-12-15 | Imagination Technologies Limited | Primitive processing in a graphics processing system |
CN106415667A (zh) * | 2014-04-25 | 2017-02-15 | 索尼互动娱乐美国有限责任公司 | 具有增强的深度效果的计算机图形 |
CN106204407B (zh) * | 2014-07-03 | 2019-09-13 | 联发科技股份有限公司 | 图形处理系统及其相关图形处理方法 |
CN106204407A (zh) * | 2014-07-03 | 2016-12-07 | 联发科技股份有限公司 | 图形处理系统及其相关图形处理方法 |
CN107209951B (zh) * | 2015-02-26 | 2019-02-22 | 高通股份有限公司 | 单遍表面溅射 |
CN107209951A (zh) * | 2015-02-26 | 2017-09-26 | 高通股份有限公司 | 单遍表面溅射 |
WO2022134125A1 (zh) * | 2020-12-27 | 2022-06-30 | 华为技术有限公司 | 一种图形处理方法、装置及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN100339869C (zh) | 2007-09-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7961185B2 (en) | Graphics processing apparatus, methods and computer program products utilizing minimum-depth occlusion culling and zig-zag traversal | |
US20230102320A1 (en) | Tile-Based Graphics | |
CN100342403C (zh) | 使用图案阴影来产生阴影效果的方法与装置 | |
US8760450B2 (en) | Real-time mesh simplification using the graphics processing unit | |
EP1066600B1 (en) | Block- and band-oriented traversal in three-dimensional triangle rendering | |
US8659589B2 (en) | Leveraging graphics processors to optimize rendering 2-D objects | |
US6362818B1 (en) | System and method for reducing the rendering load for high depth complexity scenes on a computer graphics display | |
US20020085010A1 (en) | Method and apparatus for tiled polygon traversal | |
CN1287330C (zh) | 用于区带渲染的有效图形状态管理 | |
CN100339869C (zh) | 使用最小深度遮挡剔除和z字形遍历的图形处理设备及方法 | |
EP3005305B1 (en) | Conditional execution of rendering commands based on per bin visibility information with added inline operations | |
WO2003096276A2 (en) | Graphics engine converting individual commands to spatial image information, and electrical device and memory incorporating the graphics engine | |
US20100265254A1 (en) | Graphics filled shape drawing | |
CN1519777A (zh) | 像素高速缓存、使用该高速缓存的三维图形加速器及方法 | |
CN1122945C (zh) | 图象处理器及图象处理方法 | |
US8553041B1 (en) | System and method for structuring an A-buffer to support multi-sample anti-aliasing | |
EP1269418A1 (en) | Tiled graphics architecture | |
US6590579B1 (en) | System for low miss rate replacement of texture cache lines | |
CN101103379A (zh) | 用于像素采样的方法和装置 | |
JP2010086008A (ja) | 半導体装置、グラフィクスコントローラ、及び情報処理方法 |
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 | ||
CX01 | Expiry of patent term |
Granted publication date: 20070926 |
|
CX01 | Expiry of patent term |