使用多遍形成方式的图形基元成形装置及方法
技术领域
本发明涉及一种图像系统,特别是涉及一种使用多遍形成方式(multi-pass rendering approach)的图形基元(graphics primitives)成形装置及方法。
背景技术
众所周知,三维(3D)电脑图形涉及用于在显示装置或显示器上显示或表现之3D物体之二维(2D)影像的产生(generation)及成形(rendering),如阴极射线管(CRT)或液晶显示器(LCD)。该物体可能是一个简单的几何元素,如一个点、一条线段、一个三角形或一个多边形。更复杂的物体可以通过用一系列相连的平面多边形来表现,例如,将物体用一系列相连的三角形进行表现。所有几何元素归根结底都可以用一个或多个定点来描述,例如,定义一个点如一条线段的端点或一个多边形的角的座标系(X,Y,Z)。
为了产生用于将一个3D元素用一个有代表性的2D映射显示于一个电脑显示器或其他显示装置之上的一个资料组,该3D元素的各顶点均被通过一个绘图管线(graphics-rendering pipeline)中的一系列操作或处理阶段(processing stages)而进行处理。一个普通管线仅是一系列层叠处理单元或阶段,其中前一阶段的输出作为后一阶段的输入。在一个图形处理器中,这些阶段包括了如个别顶点操作(per-vertex operations)、元素组装操作(primitive assembly operations)、像素操作(pixel operations)、纹理组装操作(texture assembly operations)、光栅化操作(rasterizationoperations)及碎片操作(fragment operations)。
在一个典型的图形显示系统中,一个影像资料库(例如命令列表)可能存储图形中物体的描述。该物体被用许多小多边形来表示,这些小多边形如同大量区块可以覆盖一面墙和其他表面一样覆盖该物体的表面。每一个多边形可以描述为一系列顶点座标(座标模型中的X,Y,Z)和关于材料表面特性的描述(如,颜色、纹理、光泽度等),可能还包括各个顶点到该表面的向量(箭头)。对于具有复杂的曲面三维物体,这些多边形一般必须为三角形或平行四边形,而后者又可以分解为一对三角形。
转换引擎依照使用者所输入的使用者所选视角而转换该物体座标。另外,使用者可以规定视域,所产生影像的大小,以及视域的深度(底线),并以此来根据要求而包含或消除背景。
一旦此视域被选定,剪切逻辑(clipping logic)单元消除这些位于视域外的多边形(如三角形),并剪切那些部分位于视域之外的多边形。这些被剪切的多边形位于视域内的部分将会相应地被补充一个与视域边界吻合的边线。然后这些多边形的顶点将被以座标形式传送到下一个阶段,这些座标与所视萤幕(X,Y座标轴)相应,且每个顶点具有一个深度(Z座标)。在一个典型系统中,光亮模型在使用时考虑到其光源。多边形以及其颜色值则被传送到一个光栅(rasterizer)。
对每个多边形,光栅决定该多边形覆盖哪些像素位置(pixelpositions),并试图将相应的颜色值及深度(Z值)写入像框缓冲区(framebuffer)。该光栅将正被处理的多边形的深度值(Z)与一个像素的深度值相比较,该像素可能已经被写入像框缓冲区。如果该新多边形的像素深度值较小,表示其在已写入像框缓冲区的多边形的前侧,其值将代替像框缓冲区内已有的值,新多边形覆盖以前处理并写入像框缓冲区内的多边形。此过程重复进行,直至所有的多边形都被光栅处理过。此时,一个视频控制器(video controller)将按光栅处理顺序一次一条扫描线地将一个像框缓冲区的内容显示于一个显示器上。
在提供了以上普通背景知识后,请参阅图1,该图为电脑图形系统中一个绘图管线的某些元件的功能流程图。应当清楚不同系统的绘图管线内元件是不同的,并且可以用多种不同方式表示。图1内的元件均用一种特定方式描述,以与其后的图例共同清楚显示本发明的特定特性。
众所周知,主电脑10(或者在主电脑上运行的图形应用程式介面)可以产生命令列表12,该命令列表包括一系列用于在图形显示器上表现“环境”的图形命令及资料。该绘图管线内的元件可以对该命令列表12内的资料及命令进行操作以在一个图形显示器上表现一个萤幕。
此处,一个解析器(Parser)14可以从命令列表12提取资料,筛选这些资料以解释命令,并将定义图形基元的资料沿绘图管线(或向绘图管线内)传送。此处,可由位置资料(如X,Y,Z和W座标)定义图形基元之亮度、及纹理资料。对每个图元而言,所有这些资讯均可经由解析器14从命令列表12取得,并被传送到一个顶点着色引擎(Vertex Shader)16。众所周知,该顶点着色引擎16可以对由命令列表12得来的图形资料做多种变换。此处,资料可能由世界座标(World coordinates)转换成模型视图座标(Model Viewcoordinates)、投影座标(Projection coordinates),并最终转换成萤幕座标(Screen coordinates)。该顶点着色引擎16所进行的功能处理已为人们所熟悉,此处不再进一步解释。在顶点着色引擎之后,这些图形资料可以被传送到光栅18,该操作如以上所述。
然后,在被操作的图元内的每个像素上进行Z-测试20。众所周知,这个Z-测试是藉由将当前Z-值(即当前图元之给定像素的Z-值)与对应像素位置的一个存储的Z-值相比较而完成。该存储的Z-值提供前一图元的深度值用于一给定像素位置。如果当前Z-值所表示之深度比存储的Z-值更接近观察者眼睛,则当前Z-值将替换存储的Z-值,并且当前图像资讯(如颜色)将替换对应像框缓冲区中像素位置(由像素着色引擎22决定)的颜色资讯。如果对当前视点而言,当前Z-值并不比存储的Z-值距离更近,则像框缓冲区及Z-缓冲区均不需被替换,因为前一个形成的图元将显示在当前图元的前侧。
又,对于已形成并被确定的图元内像素比之前存储像素更接近视点,该图元相关资讯被传送到像素着色引擎22处,该像素着色引擎22决定此被确定较接近当前视点之图元内每个像素的颜色资讯。一旦像素着色引擎22计算出其颜色资讯,此资讯将被存储于像框缓冲区24内。
尽管上文仅对各种不同处理元件的操作进行了简单介绍,本领域的技术人员可以认识到图形资料上的操作是很密集的。此处,大量的资料被由命令列表12取得并处理.在大量的过量提取的情况下,很大一部分处理是根本不必要的。此处,一个过量提取是一个像素被形成并存储于像框缓冲区内,但其将被下一个处理的另外一个图元的一个像素所覆盖的情况。尽管编程者可以选择例如在构成一个图形时将图形元素按照从前面到后面的顺序排列的方法,以最小化或消除过量提取的情况,一般编程者并不会这样做,因此命令列表12内的图形资讯是无序的。相应地,急需提供一种改进的结构和/或方法来提高一个绘图管线内图形处理的效率。
由此可见,上述现有的使用多遍形成方式的图形基元成形装置及方法在结构、方法与使用上,显然仍存在有不便与缺陷,而亟待加以进一步改进。为了解决使用多遍形成方式的图形基元成形装置及方法存在的问题,相关厂商莫不费尽心思来谋求解决之道,但长久以来一直未见适用的设计被发展完成,而一般产品又没有适切的结构能够解决上述问题,此显然是相关业者急欲解决的问题。
有鉴于上述现有的使用多遍形成方式的图形基元成形装置及方法存在的缺陷,本发明人基于从事此类产品设计制造多年丰富的实务经验及专业知识,并配合学理的运用,积极加以研究创新,以期创设一种新型结构的使用多遍形成方式的图形基元成形装置及方法,能够改进一般现有的使用多遍形成方式的图形基元成形装置及方法,使其更具有实用性。经过不断的研究、设计,并经反复试作样品及改进后,终于创设出确具实用价值的本发明。
发明内容
本发明的目的就是在提供一种多遍形成多图元的方法,于第一遍中仅传送并处理有限组的图形资料并建立压缩的Z缓冲区,然后依照第一遍中所设置的可视性指示分别决定是否将对应的图元的完整图形资料于第二遍中传送至绘图管线,以减少传送至绘图管线的资料量、降低对资料传送频宽的需求并且提高绘图管线内图形处理的效率。
本发明的再一目的是提供一种形成多个图元的方法,先于绘图管线内仅处理有限组的图形资料以及确定其是否具有可见像素,然后只针对那些具有可见像素的图元处理其完整图形资料,以避免处理不可见图元的多余运算,提高绘图管线内图形处理的效率。
本发明的又一目的是提供一种形成多个图元的方法,对于每一个图无于第一遍中仅处理有限组的图形资料;然后建立压缩的Z缓冲区,接着于第二遍中对图形资料进行两级Z测试以决定是否将对应的图形资料进一步处理,亦即免去了需要对Z-缓冲区像素一个接一个地比较的麻烦,从而相对增加了Z-测试的频宽并且提高绘图管线内图形处理的效率。
本发明的另一目的是提供一种图形处理器,在第一遍逻辑单元控制下于第一遍中仅传送有限组的图形资料至绘图管线中,以及经由第一逻辑单元与第二逻辑单元分别建立压缩的Z缓冲区与决定是否具有可见像素,以便在第二遍逻辑单元控制下将具有可见像素的图元的完整图形资料于第二遍中传送至绘图管线,以减少传送至绘图管线的资料量、节省对资料传送频宽的需求并且提高绘图管线内图形处理的效率。
本发明的另一目的是提供一种图形处理器,利用绘图管线中第一逻辑单元于第一遍中对每一图元仅处理有限组的图形资料,以及利用绘图管线中第二逻辑单元于第二遍中形成具有可见像素的每一图元,以减少不必要的运算并且提高绘图管线内图形处理的效率。
本发明的特定目的,优点及新颖性将在以下叙述中进行部分介绍,本领域技术人员可通过对下文的研究或对本发明的实际应用而对其部分了解。本发明的目的及优点可以通过一些方法和组合,特别是权利要求书中所述的方法和组合来实现并获得.
为了获得特定的优点及新颖性,本发明主要针对一种多遍图像形成系统及方法。在其一种实施例中,在通过一个绘图管线的第一遍(first pass)图形基元资料,产生一压缩的Z-缓冲区提供给该图元。另外还产生一个图元遮罩(primitive mask),该遮罩指示该图元的所有像素是否为隐藏的。在第二遍(second pass)中,仅有当该图元遮罩指示图元的一部分为可见时,其资料才可以通过该绘图管线。如此就在该图元上进行了一个二级Z-测试。在这个二级Z-测试中,利用在第一遍中所产生的压缩Z-缓冲区,得以实现每一次对各像素群的第一级比较。
借由上述技术方案,本发明使用多遍形成方式的图形基元成形装置及方法至少具有下列优点:
因于第一遍中仅传送并处理有限组的图形资料并建立压缩的Z缓冲区,然后依照第一遍中所设置之可视性指示分别决定是否将对应的图元的完整图形资料于第二遍中传送至绘图管线,故可以减少传送至绘图管线的资料量、降低对资料传送频宽的需求并且提高绘图管线内图形处理的效率。
因先于绘图管线内仅处理有限组的图形资料以及确定其是否具有可见像素,然后只针对那些具有可见像素的图元处理其完整图形资料,故可以避免处理不可见图元的多余运算,提高绘图管线内图形处理的效率。
因对于每一个图元,于第一遍中仅处理有限组的图形资料;然后建立压缩的Z缓冲区,接着于第二遍中对图形资料进行两级Z测试以决定是否将对应的图形资料进一步处理,故可以免去了需要对Z-缓冲区像素一个接一个地比较的麻烦,从而相对增加了Z-测试的频宽并且提高绘图管线内图形处理的效率。
因在第一遍逻辑单元控制下于第一遍中仅传送有限组的图形资料至绘图管线中,以及经由第一逻辑单元与第二逻辑单元分别建立压缩的Z缓冲区与决定是否具有可见像素,以便在第二遍逻辑单元控制下将具有可见像素的图元的完整图形资料于第二遍中传送至绘图管线,故可以减少传送至绘图管线的资料量、节省对资料传送频宽的需求并且提高绘图管线内图形处理的效率。
因利用绘图管线中第一逻辑单元于第一遍中对每一图元仅处理有限组的图形资料,以及利用绘图管线中第二逻辑单元于第二遍中形成具有可见像素的每一图元,故可以减少不必要的运算并且提高绘图管线内图形处理的效率。
综上所述,本发明特殊结构的使用多遍形成方式的图形基元成形装置及方法,其具有上述诸多的优点及实用价值,并在同类产品及方法中未见有类似的结构设计及方法公开发表或使用而确属创新,其不论在产品结构、方法或功能上皆有较大的改进,在技术上有较大的进步,并产生了好用及实用的效果,且较现有的使用多遍形成方式的图形基元成形装置及方法具有增进的多项功效,从而更加适于实用,而具有产业的广泛利用价值,诚为一新颖、进步、实用的新设计。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并为了让本发明的上述和其他目的、特征和优点能更明显易懂,以下特举较佳实施例,并配合附图,详细说明如下。
附图说明
图1是一个传统的图形系统管线的功能流程图。
图2A及2B是与图1相似的流程图,它们分别显示了一个二遍图像形成过程的第一遍及第二遍内管线的图形功能及运作元件。
图3是显示Z-缓冲区的压缩结构示意图。
图4是显示二遍图像形成系统简要操作的流程图。
图5是显示二遍图像形成系统特定元件的结构示意图。
【图式标示说明】
10:主电脑
12、112:命令列表
14、114:解析器(Parser)
16、116:顶点着色引擎(Vertex Shader)
18、118:光栅
20:Z-测试
22、140:像素着色引擎
24、144、302:像框缓冲区
115、117、120、122、130、132、134、136、402、404、406、410、412、414、416、420:逻辑单元
202-224:依照本发明实施利所述二遍图像形成系统简要操作的各步骤
304:Z-缓冲区
306:压缩Z-缓冲区
400:图形系统
具体实施方式
为更进一步阐述本发明为达成预定发明目的所采取的技术手段及功效,以下结合附图及较佳实施例,对依据本发明提出的使用多遍形成方式的图形基元成形装置及方法其具体实施方式、结构、方法、特征及其功效,详细说明如后。
在总结了本发明的各个方面之后,以下将如图例所示对本发明进行详细介绍。尽管本发明的介绍将参照图例进行,并非将本发明限制于其中所述实施例。相反地,如同所附权利要求书说述,所有变化,修改及同等设计均属于本发明所保护范围。
此处所包含的图例均为说明本发明实施例的特定特性而提供。通过所提供的介绍将可以看出,与本发明的精神及覆盖范围一致的大量同功能的实施例也可以得到实现。
如以上所总结,本发明的实施例提供了用来提高一个绘图管线内的图形处理效率的图形系统及方法。广泛地说,某些实施例的功能提供了一个二遍图像形成系统(two-pass rendering system),而仅将有限的图形资讯在第一遍中被传送通过管线。在一遍处理过程中,形成了一个压缩的Z-缓冲区,并为每个图元计算出图元遮罩。在一个实施例中,被传送到绘图管线中精简的图形资料仅包括位置资讯,而亮度,纹理,烟雾(fog)及其它资讯没有被从命令列表传送到绘图管线内。这显著提高了第一遍的绘图管线内所处理资讯的频宽。如同下面更详细的介绍,该压缩Z-缓冲区有效地为多个像素提供了压缩的深度资讯,以使得若当前宏块像素(macro-pixel)的所有像素被认为在先前存储的像素前侧时琐细地接受(在第二遍期间)该像素群(或宏块像素),或是在当前宏块像素被认为在先前存储的像素后侧时琐细地拒绝其所有像素。
图元遮罩也产生于第一遍中。此图元遮罩可能包含于资讯之单一位元或位元组内,它指示了该图元是否有一部分为可见的。在一个实施例中,如果一个图元被确定为一个0像素图元(即在形成时仅占用少于一个可显示像素的图元),此图元遮罩指示其为隐藏的。如果一个图元将被完全选除或剪切掉,该图元遮罩也将指示其为隐藏的。类似地,如果一个图元被确定为一个朝后的图元,它也会被认为是隐藏的。与本发明概念一致,其他情况也可能类似地被认为是隐藏的图元,并可能被纳入处理过程用于产生图元遮罩。
参照图2A及2B,这两个图例显示了参照本发明一个实施例而设计的一个图形系统的特定元件。图2A及2B所显示部件可能与图1所示元件相似。进一步,图2A提供了可在本发明一个实施例的多遍图形形成操作中的第一遍特定特性及元件的显示;而图2B则显示了该实施例的多遍图形形成操作中的第二遍特定特性及元件。
考虑到新的图形系统及方法,因为许多功能元件的运作与现有技术区别不大,此处不再做详细介绍。例如,顶点着色引擎116、光栅118、像素着色引擎140、像框缓中区144等的运作均已为人所知且未被本发明所改变,因此不需进行介绍。相似地,解析器114大致与图1的解析器14操作一致。然而,解析器114包括了逻辑单元115,用来确保在图形形成过程之第一遍中仅有有限的一组图形资料被传入绘图管线中。在一个实施例中,该有限的一组图形资料被限制于位置资讯,如X,Y,Z及W座标。其他图形资讯,如亮度资讯、纹理资讯、烟雾资讯等则没有在该图形形成过程之第一遍中被传送到绘图管线内。藉由限制传送到绘图管线中的信息量,本发明的实施例实现了显著的频宽节约。
对应图2A的介绍,第一遍中的顶点着色引擎116仅处理位置资讯来进行各种不同的转化。然后光栅118将当前图元光栅化。之后,逻辑单元120进行操作产生一个压缩Z-缓冲区,此处请参照图3。众所周知,一个像框缓冲区302是一个存储单元,用来存储显示器上每个图元的颜色资讯。类似地,一个Z-缓冲区304是一个存储单元,用来存储显示器上每个像素的深度资讯。一个实施例的压缩Z-缓冲区306压缩64个像素(一个8*8的像素群,或者一个宏块像素)的Z资讯至一个单一记录中。
该压缩Z-缓冲区记录可以采取多种结构和实施方式。在一个实施例中,该压缩的Z-资讯的记录包括了一个最小Z值,一个最大Z值及一个64位元遮罩。该64位元遮罩对Z-缓冲区内每一个像素分配一个位元。该位元的值表示该像素在该光栅化的图元之内或之外。
在另外一个实施例中,该压缩的Z-资讯的记录可能包括两个Z值范围。即,它可能包括两组最大及最小Z值。请考虑下面例子,以描述用于存储两个Z范围和一个区域遮罩而非仅一个Z范围的方式。假设一个Z范围(初始化为一个最大背景值)和以互相网状交织的三角形表示的两个光滑表面,如果第一个三角形完全覆盖该8*8区块,且其当前范围在存储的范围前侧(因此被接受),那么该新Z范围被存储起来;然而,如果第一个三角形仅部分覆盖该8*8区块,那么该新压缩的Z记录应该包含当前及存储的范围的合并结果。然后,下一个相临三角形的范围与存储的范围交错(因此需重新测试)。对在第一表面后面的第二表面的形成又造成一个重新测试。因为该压缩Z缓冲区的主要目的是避免一个无用的重测试,因而得到一个较佳解决方案。
表现为一些三角形网状交织的一个光滑表面构成一个层。理想情况下,不同层的三角形应该属于不同的Z范围。通过将一个范围定为“前层”(Z1范围),而将另一个定为“后层”(Z2范围),可在不显著增加压缩的Z-缓冲区大小(一个标准的8*8区块的Z-缓冲区可被认为一个有64个小范围的缓冲区区域)的情况下明显降低重新测试的机率。再次参照前一实例,假设两个Z范围均被初始化为背景,而区域遮罩被设为0(仅有Z2范围为有效的),第一个部分覆盖该8*8区块的三角形将如同平常被接受而产生一个新前层,下一个相临三角形提供所要的接受信号并与该前层合并,然后第一表面后的第二表面的形成过程将再一次提供所要的拒绝信号。
在此实施例中,因为每8*8的区块均存储两个Z范围,任何不被完全拒绝的新三角形将导致当前范围及制图遮罩与存储的范围及区域遮罩的合并。即便是一个简单的覆盖(如用一个被接受的当前范围及完全覆盖的制图遮罩来替代压缩的Z记录)都会被当作一个合并操作。值得注意的是Z范围越小,重测试的机率就越小,所以在可能的情况下,都会用ZL1合并单元结合深度(范围)及宽度(区域)的关系来计算小的范围。
尽管以上已经介绍了定义压缩的Z-缓冲区的特定记录,应当注意到在保持与本发明的精神及涵盖范围一致的情况下,仍可实现多种记录格式。
继续图2A的介绍,逻辑单元120为当前正在被处理的图元产生一个压缩的Z-缓冲区。之后,逻辑单元130为此当前图元产生一个图元遮罩(或为三角形图元产生一个三角形遮罩)。该图元遮罩可能是一个表示整个图元是否为视觉上隐藏的单值。如同以下将要进一步介绍的,此资讯在第二遍的前阶段被用来保持或避免对被认为视觉上隐藏的图元形成图像资讯。在一个实施例中,用来产生图元遮罩的逻辑单元130可能包括用来确定该图元是否为0像素图元(即仅占用少于一个萤幕空间之像素的图元)的逻辑单元132。逻辑单元130还可能包括被设置用来确定该图元是否被筛选掉或剪切过的逻辑单元134。因为筛选掉或剪切过的图元在萤幕上是不可见的,它们是视觉上隐藏的,并且图元遮罩将被设置。因为朝后的图元在视觉上类似于隐藏的图元,逻辑单元130可能还包括一个被设置来确定是否当前图元为朝后的图元的逻辑单元136。在任何上述的情况下,均可能设置对当前图元的图元(或三角形)遮罩.与本发明的概念相一致,其他情况也可能导致图元的设置。
现参照图2B,该图为一个显示对于通过绘图管线的一个图元的第二遍内的绘图管线的特定特点及功能的功能流程图。在第二遍中,解析器114再次从命令列表112取得图形命令及原始资料。该解析器114包括逻辑单元117,用来为当前图元衡量该三角形遮罩(在第一遍内产生)。如果该图元遮罩表示该图元为视觉上隐藏的,因为不需在绘图管线内对该图元做进一步处理,该解析器114可能丢弃该原始资料,并继续从命令列表112内提取下一个图元的资讯。这样,通过大量减少各个管线元件对于最后显示的可见图像没有影响的处理及计算操作,而大大提高了工作效率。
然而,如果该解析器114根据该图元遮罩确定当前图元包含可见图元,完整的图像构成资讯则将被从该解析器114传送到顶点着色引擎。该顶点着色引擎116和光栅118将对比当前图元进行传统的顶点着色及光栅化操作。然后,逻辑单元122进行一个二级Z-测试。在此,利用在第一遍操作中构成的压缩的Z-缓冲区进行Z-测试之第一级。如果在第一级Z-测试中,一个宏块像素的所有像素被确定在一个先前存储图元相应的的宏块像素之各像素后,则不需对该给定宏块像素对应的各像素进行进一步操作(即相应像素的资讯不需传送到像素着色引擎140中)。类似地,如果一个宏块像素的所有像素被确定在一个相应的宏块像素之先前存储的像素之前,则相应像素的所有图形资讯可被传送到像素着色引擎140中。值得注意的是,在以上任何一种情况下均免去了需要对Z-缓冲区的一个像素接一个像素地比较的麻烦,从而相对增加了Z-测试的频宽。
然而,如果该压缩的Z-缓冲区的宏块像素既不能被琐细地接受(即所有像素在先前存储的像素之前),也不能被琐细地拒绝(即所有像素在先前存储的像素之后),那么将需进行第二级Z-测试。该第二级Z-测试是对Z-缓冲区304(如图3所示)内每个像素的一个传统的Z-测试。
一旦Z-测试122完成后,图元资讯将被传送到像素着色引擎140进行传统的处理。适合的像素资讯将被存储于该像框缓冲区144内。值得注意的是,上述的多遍图像形成系统实现了相对现有技术下系统的性能的大幅提高。
现参照图4,该图为一个显示相应本发明的一个实施例设计的一个多遍图像形成系统的流程图。与该实施例一致,例如从一个命令列表提取图元资讯(202)。然后确定(204)该图形资讯是在该图像形成系统的第一遍还是后续处理。如果确定当前操作在第一遍内进行,则仅有一个当前图元的位置资讯被传送到绘图管线进行处理(206)。在此位置资讯的处理过程中,该图像形成系统的第一遍产生一个压缩的Z-缓冲区(208)。同样地,该实施例也产生一个图元遮罩(210)。
如果确定(204)当前操作不是第一遍图像形成过程,则需确定(212)当前图元为视觉上可见的还是隐藏的。在一个较佳实施例中,此判断通过衡量先前设置(210)的图元遮罩来做出。如果确定当前图元的所有像素均不可见,不需对此图形基元做进一步的操作,操作转回到步骤202,获取下一个图元资讯。然而,如果步骤212确定当前图元的一个或多个像素为可见的,则所有相关图元资讯被传送(214)到管线进行进一步处理。在其他处理过程中(如顶点着色,光栅化等),使用压缩的Z-缓冲区(216)而进行Z-测试。此处,于第一遍产生(208)的压缩Z-资讯被与存储先前处理的像素群的压缩Z-资讯相比较。如果当前宏块像素所有的图元均被确认为(218)隐藏的,则操作可以返回到202而获取下一个图元的图元资讯。然而,如果当前图元所有的像素未被确认为(218)隐藏的,则操作确定(220)是否当前宏块像素所有的像素均可见。如果所有图元都可见,该宏块像素可被传送到像素着色引擎。但如果并非所有像素被确认(220)为可见的话,则将对该宏块像素的每个像素进行一个传统的Z-测试(222)。之后,像素资讯被传送到像素着色引擎(224)进行传统的像素着色处理。
现参照图5,此图显示相应本发明的一个实施例设计的一个图形系统400的特定元件。在图5所示实施例中,图形系统400包括了解析器逻辑单元402,被设置为仅将位置相关的原始资料传送到管线其余部分。系统400也同样包括逻辑单元404,被设置为仅将可见图元传送到管线进行进一步操作。如前所述,逻辑单元402在原始资料处理的第一遍内运作,而逻辑单元404在图像形成的第二遍内运作。该系统400还包括逻辑单元406,用来产生一个压缩的Z-缓冲区。此缓冲区的特性及内容已在上文中介绍过。该系统400进一步还包括逻辑单元410,用来对每个图元产生一个可视性遮罩。在一个实施例中,此逻辑单元410包括了用于确定当前图元是否被剪切的逻辑单元412,用来确定当前图元是否被筛选掉的逻辑单元414,及用来确定当前图元是否一个0像素图元的逻辑单元416。在任何一种以上所述的情况下,该图元对观察者来说均为不可见的,逻辑单元410则相应地设置该可视性遮罩。该系统400进一步还包括逻辑单元420,用来在处理过程的第二遍中进行一个两级Z-测试。第一级Z-测试由逻辑单元406产生的压缩的Z-资讯进行处理,对该Z-资讯进行一个接着一个宏块像素的比较。
以上所述,仅是本发明的较佳实施例而已,并非对本发明作任何形式上的限制,虽然本发明已以较佳实施例揭露如上,然而并非用以限定本发明,任何熟悉本专业的技术人员,在不脱离本发明技术方案范围内,当可利用上述揭示的技术内容作出些许更动或修饰为等同变化的等效实施例,但是凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与修饰,均仍属于本发明技术方案的范围内。