图形处理系统的制作方法

文档序号:6579315阅读:205来源:国知局
专利名称:图形处理系统的制作方法
技术领域
本发明涉图形的,,特别是涉及三维(3D)图形的处理,以供例如在显 示屏幕上显示。
如本领域已知的,3D图^f^"ISM;以下方5J^^行首先将待显示的 场景(scene)分成多个相^S本组件(節胃盼'基元(primitive)")显示,以允 许更为容易地执行3D图形处鹏作。鹏'基元"通常是简单多边形的形式,例 如三角形。
用于待显示场景的基元通常JM过图形处理系统的应用,界面,使用从 需要显示图形的应用(例如游戏)所接收的图形会賴ij (drawing)指令(请求) 来生成的。
在此阶段每个基^1常由一组顶点(vertex)来定义并且被,为一组顶点。 基元的旨顶点与表示顶点的一组数据相关联。然后例如在对顶点(与顶点相 关的一个或多个基元)进行光栅化(rasterise)和渲染(render)以供显示时JCT
该娜o
如现有技术中已知的那样,与每个顶点相关联的 通常包括顶点的位置
(雜"场景世界,中的(x, y, z)坐标)和一乡胶义顶点的属性(即,应 该如何对其进1灘脚柳口何顿示器趨见)的"属性" 。繊微 据育辦包括,例如,顶点的,和透明M^ (红、绿、蓝和alpha、 (RGBa) 值),顶点的纹 据(通常为将,用于顶点的纹理贴图(rturemap)的(s, t)坐标 ),与顶点所属的基元的面的定向相关的信息等等。
齡顶点的繊通常被安排为顶点娜的阵列,包含例如,显就定图形 场景或帧所需的每个顶点的顶点数据。顶点阵列中所存储的数据也可以^哪 些顶点表示场景(帧)中的哪離元,例如,i!31将每个顶点与其絲元(一 个或多个)相关联。(可替微也,顶点与基元的关联可以以某一其他方^*,, 例如通过准 元列表(附胃盼'基元列表")和/或"绘制基元(一个或多个)"图形命令的列表,其为每个基元^就该基元而言顶点Wg阵列中的哪些顶点
、 一旦用于场景的所有基鄉其顶点已经被生成和定义,就會嫩由图形处理 系 它们进行处理,以便显示场景。
如本领^^已知的另,,该处M常包括多个阶段。
首先,对基絲身(实际,为基元顿的顶点数据)执行多个操作。如
本领^^f已知的那样,这些过程可能包括变换(例如,旋转、缩放(scaling), 靴(displacing)等等)基元,和"照亮(lighting)"基元(例如,根据待显示 场景中的光源来调整其外观(appearance))。
使用所定义的顶点 来执^^些过程,并且产生表恭圣变换和照亮的顶 点^元的经修正的顶点(顶点数据)。由于这,作^t顶点自执行的,并 且产生经修正的顶点娜(顶点),所以它们會辦被认为^1常称为"顶点着色 (shading)"过私
如本领^^f已知的那样,这些顶点能步骤能够M;专用的"固定功能'处 理单^^,和/^M^i行一个或多个顶点難辦的可编織耶遣单元(通
常称作(可编程的)"顶点^fe器(shader)"单元)来执行。
一旦上^ii程完成,在基^mm示在2D表面上时,经处理的(经顶点着
色的)顶点数据就将表示基元。然后有必要对iM^进行转换以形成适于在显 示器(例如屏幕)上显示。该过程基本上包括确定显示屏幕上的哪些像素(图 像元素)将表溯P个基元,并且确定齡像素在显示器她具有的夕卜观(例如, 就其鹏等而言)。这^iM常分别称作光栅^m織。
该过程基本上包括确定覆盖待处理的场景的釆样点阵列的哪,样顶点被 基元覆盖,然后确定齡采样点应具有的夕卜观(例如就其颜色等而言)以在该 采样点^fc^基元。^^过m常分别称作光栅化和渲染。
光栅,程确定应该被用于基元的采#^置(即将被用于^待显示场景 中的基元的采样点的(x, y)位置)。,常OT基元的顶点,来^。
渲染,然后得到M样点(即^h采样点)处显示基元所必要 数据,例如红、绿和蓝(RGB)颜色值和"Alpha"(透明度)值。这f辦包括, 如本领^^ 已知的,应用纹理,混合采样点 值等等。
(在3D图形文献中,术语"光栅化"辆既柳于新到采^a的基元变换也l細于表示、織。然而,这里的"娜化"将仅!細于指转换基元麵至採 样点地址。)
这些过禾M常M;将采样点表示为离散图形实体来执行,皿离散图形实
体通常称作"片段(fiagm幼t)",其中对戶皿片段执行图形处 作(如渲染)。
^h此类片段将对应于一^定采样点或一组给定采样点,并且实际上 并 被用于在戶;fi寸论的一个或多个釆样点(^ffl片ia渲染的一个或多个釆样点) 处渲染基元。
因此"片段"实际上是(与之相关联)一组内插到基元的给定屏幕空间采样
点(一个或多个)的基元数据。其也可以包^S元(per-primitive)和用于在 一个或多个采样点(片段位置)着色基元所需的其他状 据。每个图形片段 在微处理时旨辦被合理认为实P示上等效于场:t"像素'。
实际上,齡图形'片段"可以对应于驗显示器中的单个像素(图像元素) (因为像素在最终显示器中的奇点(singularity),在图形处理器所操作(渲染) 盼'片段"与显示器的像素之间存在一对一TO)。然而,片段与显示器像素之间 可能没有一对一的对应关系,例如,其中在显示最终图^^前对经織的图像 执fi^定形式的后处理(如按比例縮小)。
在一种用于图微理的已知狱中,通常称^"立即模式,图形处理或織, 在生成顶点时相继iW它们进行处理(光m和,)。
在这一类型系统中,基于先到先得(&st come first served)将顶点传送到图 形系统(尽管顶点通常以尝,高图形^效率的形式存储),并且因此以基元 被接收到的^^tS们进^t染以供显示。
图形处理系统中也已知使用所谓的"基于区块(til&based)"或"延迟 (deferred) " 。在基于区块的渲染中,不是实际上以立8財莫式^ —下子 处理整个场景,而是将待显示的场景分割成多个更小的子区域,通常称作"区 块"。分别渲染*区块(子区域)(通常一个接一个),并且然后重新组^^渲 染的子区域(区块)以,識场景以供显示。在这种方案中,场景通常被分 为规则尺寸和形状的子区域(区块)(通常是例如正方形或长方形),但这并不 是必需的,
在基于区块的渲染系统中,通常为^hT区域(区块)准备将为该子区域 渲染的基元列表("区±央列表")(即,出现在子区域中)。这有助T^免不必要地渲染实际没有出现在区块中的基元。
为了在基于区块的渲染系统中准备区i妙懷,首5fe^f基元的初始顶点(顶 点 )进行顶点熟以确定,例如,針基元是否将出现在待显示的场景中 以及齡基元将如何出现在待显示的场景中。经处理(经顶点熟)的顶点被 用于确定哪^S彌(潜在地)出现在針区块中。
一旦已经以这种方式为^ 区域(区块)准备了区妙據,区块列織 被存储以用于,例如,允许系统^^寸论的区块被織时i朋胸P離元需要被 考虑(渲染)。
因此,基于区块的系统會辦被认为执行三个主要步骤。首先,为旨基元 执行顶点着。"经顶点着色"的顶点数据然后被"区块化(tile)"(即,使用经处 理(经顶点着色)的顶点 *准备区块列表)。然后依次自个区块进行光栅 柳織-
将由图形处理系统渲染的场景的^,变得ffl^越复杂,例如在可以IOT 于乡錄赐景的基元数目方面。在处理场景以供显示时所舰的顶点着色辦日 益S^。这都对图形处理系统带来了不断增加的处,资源要求和负担。
所希望的是减少这些负担和要求,即使"呈现"给图形处理系统以供处理 显示的场景是t^的场景,并且尽管用刊總腿一点的M如iCT早期的Z4i 縱口遮挡剔除(occlusion culling)来尝试^!>最终为所存在场景而渲染的基元的 数量,申请人臓相信存在舰的空间。

发明内容
根据本发明的第一方面,提供一种在图皿理系统中处理场景以供显示的 旅贅駄魏括
识别场景中的X^ (object); ^ffi于表満景中的鄉的舰(volume);
{顿为赠 的術只来处理部分或^1^景,以i刊古(assess)场景中对 象的存在;以及
根据戶,iTO来确定是否处理场景的自以供显示。 根据本发明的第二方面il^一种图形Ml统,包括 用于识别待处理以供显示的场景中的X^的装置; 用于^ffi于^^l景中的g的体积的^S;用于使用为x^生成的体积来处理部分或全部场景以评估场景中^的存
在的装置;
用于根据戶/Miff古来确定是否处理场景的对象以供显示的装置。 在本发明中,顿^f只以用于标赠(例如更复杂的鄉,例如由或将 由或可以由多个基^^M的X^),并且然后对该M的,性(representative) 体积进行处理以得到与场景中m和减其他一个或多个对象的存在相关的信 息。换句话说,在例如处理乡I^^i寸论的膽的所有"真实'基^t前,首先为 纖生成并处理"代理"新性糊。
本发明具有如下优点,例如,并且如以下将进一步舰得那样,如果會辦 从代理-标性慚只确定在场景将^M示时膽实P示上在场景中并不能被看到 (例如,因为它实际上完全落在所显示的帧之外,或者其完全被其〗M象所遮 挡),则根本无需处Wm的多个嗔实(true)"基元,由jt爐免了在处理场景
以供显示时的^ba负担和要求(并且因此节省了功率和带宽)。
类{她,如果可以从代理表示性術只确定在场景将被显示时膽将完魏 挡场景中的其舰象,则根本无需处理该其ftW象的多个'真实"基元,从而避 免了在处理场景以供显示时的处理负担和要求(并且因此节省了功率和带宽)。
因此如果实际上在待显示的场景中m将是不可见的,则通过首先处理更 加抽象或较粗略(coarser)的)^t^示(即表示m时所生成的体积)以评估 在场景将^M示,景中m的效果(effect)(例如存在(可见性)^m他方面), 本发明肯辦使得对场景中的m的不必要处理得以避免。
在本发明中为其生戯示性^IR (较粗略表示)的膽會辦是任何适当的 且期望的此^tm。其雌地包括更魏的赠,例如,将(当期皮織时) 由多个斜tt元构成的m,因为采用本发明的方5W此I^的刑古将是最 有利的。
在一彿别雌的实施例中,为其生成边界(bounding)懒只的X^t^包據会 制调用(call)(纟銑爛用的基元)、纟飾ij调用的组合雖賴ij调用的一部分(例如,
从乡錄,用聚集的特定')^m"基元)。在雌实施例中其包括乡飾iJ调用。
在另一错别雌的魏例中,X^J^包麟纟魏啲更加麟、高阶膽(对 象的描述),例如,并且^ilk0fi胃的"补片(patch)"或"表面"。因此,在一个 ,实施例中,m包括待乡飾im的高,M述。本发明可以,如tt3Mk,应用至,控制点(和其他信息),如(笔划(stroked))曲线、表面、补片等来
定义的赠,因为其可能(并且有利地)生戯示此^tm的術只(以该形式 定义或描述的^)。
还将理解的是,禾佣这样的高阶'膽",这样的x^ii常最^M鹏被渲染 为多个基元,因此,针对它们4顿本发明是有优势的。
将以本发明的方式来处理的对象能够根据需要通过以下方式来确定和识 别例如舰识别场景的一个或多^^ij调用、M分析一个或多个織爛用
了解繊n/驢元等如何麟合^M—个或多个織iJ调用、舰i湖肠景的
高阶)^t^描述、am朋赃场景中由或降由多个基元构成的对象等。
使用用于5^的表示性体积所执行的)^i景中X^存在的刑古可以以樹可
^tS期望的方^S行。其ife^包^iff古在其被显示时)^ (—个或多个)
是否在场景中可见。
如将在下皿一^i寸论的那样,这可以与为其生成^f只的自目^iK行, 和/或与场景中的其 ^相^ 行。实际上,场景im的效果应该被i啊古。
类似地,根据1f^古确定是否处理场景的m以供显示,可以与为其生成体 积的,目关 行,种或与场景中的期1W象(一个或多个)相关i"tk^行。
在特别i^的实施例中,在表示X^时所生成的"術只"包括)^的边界体 积(即"限定(bound)"或包围自的体积,以iES^^I^m^占据的体积)。
这具有如下优点,例如,正如^Jl^斥i寸论的,如果倉辦从f^ii界体积(边 界m只表示)确定在场景将被显示时实际上在场景中看不到对象(例如,其实
际上^^f显示的帧之外,或被其^m完^i挡),那么,例如根据无需处理 )^的多个'真穷'基元,从而避,处理场景以供显示时的处理负担和要求(并 且因此节省了功率和带宽)。
因此,在这些实施例中,本发明tt^M包括以下步骤^S: 识另赐景中的鄉(例如,其由多个基^^且成); ^ffi于^场景中的g的边界体积;
使用为m生成的边界体积凍处理部分或全部场景,以W^古场景中x^m的
雜(例如,得到与之相離息);
OT所述评估(例如,所得到的信息)来确定是否处m象(例如,确定
是否处sx^的多个基元中的一个或多个)以供显示。作为复杂g的较粗略^而生成的边界術只育辦采用ft^r期望和^i的 形式。
在特另ij雌实施例中,边界^fR是围绕(surround) m的边界框(bounding box)o
在另一个实施例中,边界^f只可以例如包括24fX^鹏(标由膽覆 盖的区域)以及,m的^i&保守的(conservative)深度范围(旨戶,布 的深度值的范围的f际)(由此微指示鄉将被考虑占据的"深度")。在这种 情况下,如本领Jl^:人员^^M的那样,2D ,和、皿值^来M效地 定JW^的边界懒只。
一旦已经识别了附寸论的皿,就會辦以任何期M^it的方式^^, m的较粗略^的边界^f只。
因此,在边界IK^的情况下,{琉适当的用于得到围绕(和包围)复杂 对象的边界框的ife^嫩,目来生成边界框,所皿界框将形成复杂对象的较 粗略玩
根据需要,边界駒以Ji) t^所占据(顿^E^ "适合于"(鋭)膽 的真实体积(皿))的付积的程度不同的准确^。
也可能的是,例如,生成并然后处理一组多个'标性"体积,其合起来构 ^ 的 ^边界#^只(并且在一^^实施例中如此实现)。在这种情况下, 本发明的'幼界術只"由一组多个较小"術只"乡賊。这可以例如允许根据需要 由m所占据的体积的更加准确的表示。,于具有无法容易地i^单个"全 局"边界術只5l^的皿的物体而言可能,别希望的。(可替换地,这样的 ")^J^"可以被作为多个^^虫的、较小的,M待,然后其中每一个都以本发 明的方^S行处理。)
(如本领^S^人员所鹏的另孵,并且如上戶脱,在本发明的这些实施例 中所4顿和领赋的边界慚只应该"限定'或包围膽,以便至少标膽所占据 的術只。因此,在边界術只由多个较小的体积(其因此不能與虫地完全"限定" 对象)组成的情况下,应M用以下方案较小体积的组合将完全"限定"对
边IWIR (例如,边界框,包括職的较粗略标),可以根据组成S^对 象的基元的经变换的或彩圣变换的顶点 来生成。因此,在一个微实施例中,边界^IR标,例如并且雌地,将标对
象的边界框,根据组成^^^的基元的未经变换的顶点i^生成,然后复 杂g的边界^f只^被变换到屏幕空间以进行处理。
在另一个雌实施例中,构成复杂m的基元的顶点首先被变换到屏幕空 间,然后使用经变换的顶点(顶点数据)来生成用于表示复杂对象的边界体积表 示,例如边界框。在这种方案中,用于复杂对象的经变换的"真实'顶点数据可 以被并且在,实施例中被高速缓存以使得在需要时其可供进一步使用。
初始变换步骤會辦在例如图形处理系统中所,的专用单元中执行,例如 执行必要软件程序的cpu核。然而,其i^i也在图形^l系统中的顶点^fe器 单元中,使用例如M的预生成的顶点^器,,或者从将用于所讨论场景 的顶点着色的应用指定的顶点^器fi^ (一个或多个)中提取的顶点^程 舰行(例如在编蹄阶段)来执行。在后者的例子中,系统编職可以例如 根据实际的完整顶点着色器e^为附寸论的(旨)顶点生成顶点着色器程 序的'专用"版本。该专用的、简化的顶点 ^器辦版本雌地仅包含例如针
对推if^顶点在顶点^t后将具有的,所必要的顶点的(x, y, z)坐标 的变换指令。如果需要,编译器可以例如具有由繊的应用禾iiW^的、附加 的用于所有顶点^fe器,的分析和死代码消除步骤。
^OT所生成的作为(复杂)^的较粗略表示的边界^IR^执行的处理优 选地如此以便刑古场景中膽的存在(例如,得到与之相雜息),并且育嫩是 任何期望且^i的此类处理。,地i啊古在场景将M示Ht^景中复杂)^是 否可见。
4顿所生成的边界懒只执行的处理可以,并且在雌实施例中,包^i平估 表示对象的边界体积是否完全皿场景的可见区^夕卜(在场景将M示时) (在这种情况下,可以得出对于场景而言复杂皿根本无需被处理)。这可以例 如并且imttk以下方^iS行皿刑古^^m的边界^f只是否完全^^ 幕ii^卜,和/或,在区,统中,M:i啊古^^^的边界術只是否^^任 何将被用于显示场景的区块中。
在特别tt^的实施例中,使用所生成的作为(复杂)m的较粗略表示的 边界体积来得到与场景中对象的存在相关的信息而执行的处理,包^ifj古表示 ,的边界体积是否被场景中的其totm完全和域部分遮挡。这将再次皿关于在场景将M示时(复杂))^实际上在场景中是否可见的信息(并且因此 是否需,完全处理以供显示)。
表示,的边界体积是否M挡的此类刑胡嫩根据需要来执行,但是优 ^itk包括执行z (深度)测縱口/鹏,式的图形遮挡测试,例如,并且雌 地,如本领鄉已知的技术。
表示x^的边界術只的此类处理育辦根据需要来执行,但在特别,的实 施例中,包括在处S^fi寸论的场景以供显示时,处理边界体积而不是为附寸论
的(复杂)膽定义的"真实'基元。换句话说,所生成的表示(复杂)膽的 边界術只连同场景的其w^卩/或基元一起被处理以供显示,而不是处離皿 附寸论的(錢)膽的斜虫的"真实,基元。
边界懒只的处理可以M:例如,生戯稀界^IR的一个或多顿当基元
并且然后以与场景的樹可其他基元相同的方式处理^ii界体积的基元(一个 或多个)来执行,艮P,所生成的^ii界懒只的基元,地与为场景所定义的
其他基元(,地所有) 一起被处理(并且因此视情况而定被^A区块(在基
于基于区块的,系统中),光栅化并,等)。
(船離的是,尽管一个或多个基元被 以便育嫩处舰界糊,与在
以一般方式简单处理(^v) x^的情况相比,其仍需要处理更少的基元。)
其他方案当然也是可能的。
虽然可以完全像其flW^卩/,元那样处S^生成的表示复杂对象的边界
体积(和/^^界#^只的一个或多个基元),但是申请人已经意识到得至綱如 表示(复杂)m的边界体积的色J-信息可能是不必要的(因为作为(复杂) )^m的辦且略^的边界術只实际上不意在为&M示的场景做出贡献)。
因此,在特别雌的实施例中,关于所 的表示(复杂)膽的边界体 积所执行的处理包括仅执行确定在场景将被显示时所生成的边界体积是否在场 景显示中存在(翻反)所必要的鹏。
此类处理飾也包括在场景将被显示时所铺的边界術只(纖其获得边
界体积的顶点)到场景中的一个或多^Hi当^S的ftf可必要变换以获取场景显 示的魏錢(因为这于将允许刑古在场景将M示时^^鄉在场景中的存 在)。
對鹏,在基于深度测试的遮挡确定的情况下,所生成的表示(錢)对象的边界体积的处理优选地包括针对边界体积执行仅z (仅深度)渲染通道
(renderingpass),艮卩,其中边界^f只被渲染,但是其中^ii界^IR而言所实现的 渲染状皿仅是Z测试以及Z的读和写。
皿地,当皿处理以允im疗深度(或其他)测试时,表示(复杂)对 象的边界術只(例如,^i界^!R的基元)以适当的方式被織(^Mi臓 深度(戯他)领赋而言,对于附寸论的图形^hS^^ffi普通方式)。
限制针对所生成的表示复杂对象的边界体积而执行的处理还具有如下优 点,处理更加髙效并且消耗更少的资源,由此使得其例如在更加受限的系统中 更加可接^it^M亍。例如,在仅Z处理的情况下,Z缓冲器育辦被±真充,但是 肯^M^其他存储器访问或ffi^^J^,并且其他片段处理器可能空闲。
能够以任何适当且期望的方式来配置图形处理系统以便以此方式来处理表 示(魏)膽的边界懒只。为此目的期皮设置为适当的渲染状态(例 如仅Z,状态)。(如本领域所己知的,图形处理皿^S盼渲染状态确定了 处理器将对其所接收的图形基元执行的处理并且所以旨辦Mffi于控制所执行的 处理。)
如本领^^已知的,在^l^示(鋭)微的边界條(如,基元(一 个或多个))进行处歡前,(渲染)"状态,为此目的可以例如a^噺处理器 并在全離微态體为新状态(例如,仅Z)(即,对所有处理单元)。
然而,在雌实施例中,边界綱口鄉标(鋭)總的对应基元(一 个或多个)以某种方式被^iB或标示以将自身标识为执行此类特定处理,并且 酉遣图形处理系统以相/Si也(鹏当地)M^對斜己的"X^t^"(和基元)。
例如,在图形处理系统具有多个例如倉辦与基元称或片段相关联的预定义 渲染状态的情况下,如在早期的专利申请GB-A-2420261中所描述的技术,并且 tt^t也,可用的预定义渲染优态之一(例如渲染状态索引'""(或其他索引)) 被设置为用于处理表示(复杂)m的边界^!R的^t染状态(例如,并且,
地,仅z渲染状态)。这于是将允i邻咖在它们総以用于处srot时,这样的
边界術只(和/鹏元,片段等)被标己以适当的渲染状态索引等,以使得它们 相应地 理,而不是例如必须全局鹏噺并改z^h鹏m7燃的状态。
类^ife,在图形处理系^:持片段#&,的情况下,^i存在针对表示
(鋭)膽的边界^f只的处理(例如,进行仅Z处理(織状态))所保留的并且用于该处理的预定义片段,地址。该地址可以例如皿例如用于处a^ 生成的边界術只的鄉片段能器禾辨的更加有限的版本(的(编译和执行))。 这于是将再次允许这样的边界体积(及基元和片段)在执行处理时被^n己以该
预定义的片段,itt,并相mW免例如应用全局(如,仅Z)状态到图形
处理器的需求。
一旦已经i啊古了标(鋭)膽的边界術只在场景中存在(例如可见性) 与否,然后就舰该信息来确定是否处ax^ (如,舰(鋭)鄉的"真实, 基元)。
这可以以任何期望且^g的方式来完成,但是在, 例中如果从表示 对象的边界体积的处理中确定在场景将被显示时)^m在场景中根本不存在(例 如,^mt也,可见)(例如,因为所顿的边界^iR完全絲可见帧的m^外, 不在当场景将itt示时将棚于场景的区块中,和/職全被场景中的其tetm
遮挡),贝!KMilL简单地丢购所舰的边界^f只相对应的(驗) ,例 如从场景中剔除,以使得其不经历与场景相关的樹可进一步处理。
另一方面,如果^^对象的边界体积的^S确定在场景将被显示时对象(至 少部分)存在于(例如,可见)场景中,则对象需要"^S地"处理以进行显 示。(这在^^^的边界体积的处理本身不會調于显示X^时是必要的)。
雌地,鄉过然后使得图形处理系统处理一个或多个(如,所有)针对 复杂)(m所定义的单独、实际(真实)基元以供显示来实现。换句话说,应当
处a^^的边界術只(m的较粗略^)所^的原始 (如,基元)。
在这种情况下,对象的"真实'^;被im地以普通方^t行处理以供显示, 并且从而应当在必要时酌情经历樹可必虔的区树七、光栅化、渲染^^作。
如果需要,复杂m的"真实'基元的该处理可以^ffl任何已经得到的和存 储的与那,元相关的数据,例如任何高速缓存的经变换的顶点数据,如上面 耐论的。
一旦确鹏当处理(鋭)膽以供显示(如,将是可见的),这離况中 的鄉的"真实,鹏(xdm"真实,翻的处理)就根据需要而l繊发。然而,在 雌实施例中,(鋭)鄉的边界^IR标与将纖(鋭)鄉的实际基元 的处理的信息,和/或育嫩棚于识别需要为附寸论的g^鄉而处理的实P示基 元的信細关联。尽管以上已经将本发明实施例主要描述为测试单个边界体积(例如,边界 框),或合總构^^单个边界慚只的一组体积,描述为待^^的鋭膽的
较粗略表示(并且在一1it^实施例中如此完成),但是也可以例如如果需要分 别测綱^^合定的更加复杂鄉的边界^f只的一个或多个^IR。例如,分
别测i^^^m的多个体积允许i啊古场景中复杂,的不同部分的存在和 可见性。
因此,在特别雌的实施例中,生成两个鞭多表示性懒只(其一起构成 边界体积)以用 ^( ^)膽^>别进行测试。在该情况下,^h此类顿
的体积^w^构^jm的多个实际基元。在这些方案中所生成的表示性体
积均标附寸论的膽的不同部分,并且被雌地生成以表示膽的不同(屏 幕)区域。
在一个雌实施例中,从开始就生戯示复杂对象的两个或更多表示性体积。
然而,在特另ij雌的实施例中,如果并且当确定在场景将MS示时鄉以 及然后膽的部分雜于在场景中并应该针彬汤景而被处理时,系统初始生成
用于表示旨S^对象的单,界術只,并且然;^^渐 更多的表示性体积, (鋭)繊的逐渐更小的部分。
这种方案实际Jd^渐将(复杂)膽分割为更小的部分,齡都由所生成 的表示性術只(其将"限定"^i寸论的X^部分)*^,并且从而允许ifi古 膽的每个这样的部分在场景中存在与否,并且如果在场景将l颇示时鄉的 顿或部分不在场景中则以适当的"就邻(^f,率)而丢弃。
在这些方案中,娜也,舰逐渐生^^(鋭赠的较小糊的重鋭 程(只要在旨阶l^的至少一部分,"存在"于场景中)。
因此,i^ik,(复杂)膽首先由被^^祐的单个边界術p^^, 并且评估该生成的边界体积的存在。如果在场景中不存在,贝赃该阶段育嫩丢
弃(鋭)膽,但如果边界体积存在,贝U雌i姓成两个鞭多(^ife, 2 或4个)体积,^H^示对象的不同部分(和原始、 边界体积的部分),并 且iff古絲在。
该过程育鄉继续并且如果需要,以使得例如如果例如两个'第二级"生成的 術只中ff^个M^现在场景将^M示时存在于场景中,则生成两个(鞭多等)更小的術只以表示与所生成的"第二级"体f舰应的(复杂)膽的部分,并进 衍啊古,并且然后或者丢弃,或者处理(复杂)赠的该"部分"对应的真实基
元以供显示,或糊一步细分(复杂)m的该'部分,,等等。
因此,在本发明的特别tt^的实施例中,如果确定在场景将被显示时初始
生成的表示m的边界^IR存在于场景中,不Jiith后立即处理构^^表示^ "真实"基元以供显示,而是以本发明的方式生成并处理两个或更多(i^地,
2或4)更小的^I4懒只,其均^^膽的不同部分。
然后,在雌实施例中,对于在场景舰示时l雌现存在于场景中的这些 更小体积中的樹可一个,或者处理(鋭)職的该部分的"真实'基元以供显 示,或者4^两个鞭多(tt fe, 2或4)更小的^f只(其均标(鋭)对
象的不同的(更小的)部分),并且以本发明的方sW其进行处理。
如果需要,针对(复杂)对象的这些更小的"部分,,在雌实施例中,可 以重复该过程,以使得再次针对在场景被显示时被发现存在于场景中的这些更 小表示性懒只中任何一个重复该过程,或者处理(餘)膽的该部分盼'真实'
基元以供显示,或者M两个或更多(皿池,2或4)更小的体积(其均表示 (复杂)对象的该(更小)的部分的不同部分),并且以本发明的方式对其进行 处理,等等0
雌地,继续细分直到达到某Hf定的、^i^择的或可选的以及1tm
预定的细分限制。该限制可以,例如按m0f做出的细分7爐,和/或按照膽被 细分的不同部分(区域)的尺寸(称或被^ 示膽各部分的#1只)。
如本领域技术人员所,的,将别舰的细分的级别柳艮制可以繊于例 如进一步细分限定所需要增加的处理与消除复杂)(^的部分以免于处理所带来 的潜在节省之间的权衡。因此,例如对特别鋭的微(例如,由很多基元构 成的職)可能希望有更高级另啲细分,^t亦然。
在这些方案中,所^的用于:&m^im的部分的细分的旨级另im^
(鋭)膽的慚只^J&i^P相同翻似的尺寸,并且更tteife,相同淑目
似的形状。在,实施例中,它们都g方形的,并且^itk^:方体。
在优选实施例中,以此方式对(复杂)对象的细分是如此以使得m能够 由单个生成的边界体积(覆M"象的全部)来表示,然后由四个(更小)生成 的体积5l^示,其均表示对象的不同部分(即,使得m被有效地划分为四个区域)。
對鹏,任何微鹏在的更小标性糊(微的部分)^mw次被 分成四个更小部分(以使得如果来自最初细分的所有四賴示体积繊发现是
存在的,则m然后将被细分成16个区域,每个由不同的生成的,性術只来 表示)。
再次,这些更小的表示性体积中任何一个雌现存在,根据需要,如果它
们要被细分,贝iKmtM分成四个更小部分,針都由所生成的糊棘示(以
使得如果所有16个更小術只,存在,贝lJX^然后将t继续分成64个区域),
在另"it别雌的实施例中,所生成的用于表示膽的^f只包括膽的限 定(bounded)体积,即被确切:W闭在(限定于))^内的体积(其占据的体 积不舰将Wm占据的糊)。
申请Aia—步意识到,例如以本发明的方式同样可以测wm在场景中是
魏挡其toim (由此可放弃0^tm)。在这种方案中,再 姓成^^膽的
较粗略表示并且被用于遮挡测,程,但这种情况下可以确定场景中其4M^
是否因为被所讨论的(复杂)对mii挡而育辦被丢弃。
申请Ait—步意i诏岐这种情况下,将不适于生成包围鋭職的边界体 积(因为,"边界'体积将不能确切表示由复杂膽所占据的的体积(空间))。 因此,对于该处理,作为代替,生成"限定"体积,艮P,辨切鹏闭在鋭赠
内的^i只(即,其所占据的術只不^dm所^的僻譯只)。
因此,在本发明的特别雌的实施例中,生棚^^i景中的膽的限
定術只,并且然后处理该生成的限定^f只以i啊古场景中膽的存在(例如,得 到与之相关的信息)。换句话说,为^^一个'^sr卩院術只(限定体积表
示)并且在例如处理纟M^i寸论的鄉的所有"真实"基^:前首先对其进行处理。
这具有以下优点,例如,并JJE如下面将被讨论的,如果兽嫩^j^的代
理p艮定体积(限定体积表示)确定在场景将被显示时)^将遮挡场景中的其他 对象,则根据无需处理那些其^象,从而在处理场景以供显示时避免该处理 负舰要求(并且因此节省了功率和带宽)。
因此,在特另IJ雌的实施例中,本方面包括以下步骤^M,用于i湖肠景中的繊(例如,其由多个基^i^賊); ^ffi于^^景中的,的限定^只;
《顿为膽生成的限定^f只来处理部分或全縱汤景,以i啊古场景中其他一 个或多个鄉的存在(例如,得到与之相关的信息);
^ffi所得到的信息来确定是否处理场景的一个或多个其旨象以供显示。
如本领域技术人员a絵理解的,视情况而定,本发明的这些实施例肯辦并 且tt^fe包括叙,描述的本发明的一个或多个鄉万有雌的及可选,征。
因此,例如在此针对"边界^R"的j顿所讨论的可选及雌駄中的任 何一个^^f有,视情况而定,同样可以被应用于其中为膽生成"限定体积"的 方案。
因此,限定術只被mbM3i考虑将wm (和/或^tm的一个或多^
分)确切包围的适当的x、 y、 z值范围来生成。
类似地, 一旦已经得到(M^)对象的适当限定体积,就肖嫩再次M31以 下方式处理场景舰该限定鹏棘示纖,i^iik确定相M^是否将
遮挡场景中出现的〗琉其^m、基元等等(以使得它们于是會辦被丢弃(不
针对显織行鹏)。
在特别优选的实施例中,使用所生成的作为对象的较粗略表示限定体积所
执行的处理包括iff古表示对象的有界^f只是否将完全和/或部,挡场景中的 任何其,象。这^H^关于在场景将被显示时其他一个或多个对象是否实际
在场景中是可见的信息(从而i啊古是否需要完全处理以供显示)。
此类针对表示膽的限定術只是否遮挡其^tm的i啊古倉嫩根据需要来执
行,但是同样imi也包括执行z (深度)湖!l縱口/或其他形式的图形遮挡测试, 例如,并且i^i也,如本领:1#万已知的。
因此,针对限定術只的处理类似^4 行为仅z渲^it,并且雌
地以与,"边界術只"处理相对应的方式被使用,以允许丢弃将被(复杂)对 繊挡的撒
这里^M的是,此wm的限定体积的生成和测试应当^当保守的 基础上执行,以确保限定体积例如不包围任何实际上不是其所表示的g所占
据的场景^f只或区域。
根据需要,限定術只可以被得到为m的驗不同的准确録,和Mm的一个或多1^P分。
还可能的是例如^并然后处理一组多个P艮定体积以例如更准确地表示对
象所占据的術只,如果需要(并且在雌^i例中如此完成)。对于具有不能使
用单个限定^H^^t确;i4^示的皿的m,这可能是待别希望的。
在特别雌的实施例中,^ffi于给定膽的边界懒只以及限定術只,并 以上面的方式进行处理。更,地,这是针对场景中的多个(复杂) , 行的,例如然后可以例如允许那^ia中的一个或多个被从用于场景的处理中 丢弃。
根据战讨论将会,的是,本发明的所有方案包括首先处理复杂膽的 更加抽ti^粗略的表示(即,在表示^时生成的边界和/或限定体积)以评 估在场景将舰示时M^膽在场景中存在(可见性)与否和/或在场景中的效 果。
因此,根据本发明的第三方面,提供一种在图形处理系统中鹏场景以供 显示的;^法,戶,^^^括
图形处理系统
^tt汤景的^的较粗略^;
处Stm的所生成的较粗略表示以评估在待显示的场景中一个或多个m 的可见性;
根据本发明的第四方面,,一种图形处理系统包括: 用于M待显示的场景的对象的较粗略表示的装置;和 用于处Wm的所生成的较粗略表示以评估待显示场景中一个或多个自 的可见性的装置。
如本领域技术人员g理解的,视情况而定,本发明的这些方面育辦并且 tt^包括本发明的一个或多个或全部雌的和可选的特征。因此,例如针对 其生自粗略表示的m^地包括更加复杂的对象,例如由多个與 元构 成的膽。
类似地,本发明的这些方面,地包括如下步骤皿置,用于识别场景
中由多个基元构成的x^m,并且然后生成该识别对象的较粗略^以表示场景
中的膽。
同样地,在本发明的这些方面的一1^ 例中,m的较粗略表示包括用于表示场景中的m的边界体积。这种情况下,对待显示场景中的一个或 多个m的可见性的评估于是^地包括使用为对象生成的边界^f只来处理部 分或,场景以得到与场景中对象的存在相关的信息的方法,置。
类似地,在本发明的另一个,实施例中,所生成的g的较粗略表示包
括用于表示场景中的x^的限定体积。在这种情况下,m的所生成的较粗略 表示的处理iWtk包括使用为g生成的限定体积来处理部分或^P场景以得 至ij与场景中膽的雜相关的信息。
在本发明的特别雌的鄉例中,为鄉 ^界術只和限定#^龙二者, 如上面亂
對,,本发明这些方面的方袪和系统tt^fe包括以下步^^g,用于:
使用待显示场景中一个或多个m的可见性评估来确定是否处理附寸论的m
和/或是否处理场景中的一个或多个其ftkK^以供显示。
应当注意到,在这,描述的本发明的所有方面和实施例中,在给定场景 中可能存在多于一个^,其中针对戶;f^给定场景生皿示性的较粗略表示、 一个或多,界術辦卩/或一个或多个限定懒只,并以本发明的^lfiiff古。 在tt^实施例中确Ji^种情况。在这种情况下,可以并且应当以以上附寸论的 方式棘待并处理 ^样的繊。
根据上文#^理解的是,本发明的方案净加台可以以更加有限的方式来处理 (^) x^的顶点,更特别地仅仅针对与其"位置"。
申请人相信,执行像在本发糊P样仅舰有限繊集合的这幹'予跣"舰可 會巨本身是新的且有利的,因为其可以例如鹏执行"预先"处理,例如在处理 能力和存储资源更加有限的情况下,如在駄式系统和便携式设备中,并且, 事实上可以允许这样的处理在其中不希望这样做的情况下被执行(例如,因为 处理负担一般将认为太繁重)。
因此,根据本发明的第五方面,麟一种操作图形处理系统的方法,臓
方飽括
图形处S^统
在处理顶点集合以供显示之前,仅处理与待处理以供显示的顶点集合中的 一个或多个顶点的,相关的自;并且
当处理顶点集合以供显示和/或修改待处理以供显示的顶点集合时iM处理的结果;
根据本发明的第六方面,,一种图形处理系统,包括
用于在处理顶点集合以供显示之前仅处理与待处理以供显示的顶点集合中 的一个或多个顶点的,相关的数据的装置;以及
用于当处理顶点集合以供显示和/或修改待处理以供显示的顶点集合时i^ 处理的结果的^g。 '
如本领,术人员^,的,视情况而定,本发明的这些方面和实施例 能够并优选地包括此处描述的本发明的任一或多个或全部优选的及可选的特 征。因此,例如,针对一个或多个顶点所执行的或舰一个或多个顶点的健
所执行或与一个或多个顶点相关的处理,tt^tk包括变MrS,(即,
得到在场景将1^1示时与^ 相对应的场景(中)的錢繊)。
在本发明的这些方面以及在实施例中^处理的与顶点集合的顶点的位置 相关的数据,能够是任何^1且期望的 ,即,影响或定义一个或多个顶点 的位置的翻。
因此,其可以例如 ^包括戶刑寸论的顶点的錢 (x、 y、 z麵)。 然而,其也可以是其他可能影响顶点雌的M,例如顶点的颜色M (例如, 其中顶点的颜色定义,响其^S)。
位置相关的,还可以或作为代替M顶点的^S,得到或与之相关的 ,,例如在本发明中,特别地,边界^f只(如边界框)的雌数据,其标 總的'駭,顶点的錢(一个或多个)。
在雌实施例中,在本方面的这些方面和实施例中所处理的位置 与将 要处理以供显示的(M^)对象的顶点集合相关。其还可以,或作为代替,在 本发明的这些方面中,根据需要,包括例如处理,场景以供显示所必要的顶 点等。
在一^t青况下,例如其中顶点集合中的顶点只具有为其所定义的位置相关 翻(例如,因为其属性繊另夕卜被體为鹏义缺省值),预先处理的錢相 ^ 将包括所有为顶点定义(并存储)的 。
然而,更典型地,腿相^fClg将包括为顶点定义的繊的賴,例如, 因为顶点将既具有为其所定义的位置定义或影响数据,也具有其他数据,例如
诸如颜誠纹a^类的属性,其与顶点的位置无魏不影响顶点的健。因此,在特别雌的实施例中,予跌处理的位置相关娜仅包括为所讨论 的顶点或#点到所定义的 子集或与之相关的 子集。类似地,本发明 相应地f^fe包,样的装置或步骤在处理顶点集合以供显示之前,处理为 待处理以供显示的顶点集合中的一个或多个顶点所定义的数据子集或与之相关 的繊賴。
实际上,申请人相,处理顶点以供显示之前仅处理为待处理以供显示的
顶点所定义的,,是新的且有利的,因为其可以例如类^^eit处理及资 源节约,即使当其不是以駄式处理的仅腿相^^时也是如此。
因此,根据本发明的第七方面,纖一f^作图形处理系统的方法,包括: 图形处理系统
在处理顶点集合以供显示之前仅处理为待处理以供显示的顶点集合的一个 或多个顶点所定义的《子集。
根据本发明的第八方面,樹共一种图形M^统,包括
用于在处理顶点集合以供显示之前仅处理为待处理以供显示的顶点集合的 一个或多个顶点所定义的 子集的^§0
如本领域技术人员所理解的,本发明的这些方面和实施例育嫩^m包 括此处描述的本发明的任一或多个或全部优选的及可选的特征。因此,例如, 由图形处,统所处理的 子集,地包括(并且,地仅包括)为顶点集 合中的一个或多个并且^^#^所定义的或与之相关的, (例如,(x、
y、 z)坐标)。對鹏,当处理顶点集合以供显示和/或修改待^ba以供显示的顶
点集合时^M顿处理的结果。
在本发明的这些方面和实施例中, 一个或多个处理操作被"m"执行或使
用隨 (和/^^臓择的顶点i^集)育嫩根据需要^^择,并且肯娜是
ffi5T,的或期望的此,作。
在一个待别优选的实施例中,该处理包括准备将TO于顶点集合的后续处 理的数据结构,和/或包括分析顶点数据以便推断和/^l^息以供图形系统在
其后续处理操作中{顿(例如,i^ilk,对顶点娜的^ 作)。
以本发明的方式处理的基元可以是ftf可^i的和期望的此类基元。它们优
选地是简单多边形的形式,如本领域中所已知的。在, 例中,构^tm
的"真实"基元至少JiH角形。本发明中的或可供本发明使用的图形处理系统會嫩采用^M合适的形式。
如本领m^人员MaiS 的,其會辦并应当包括,根据本发明进行操作所必
要的组件或特征,其他允许它处理图形顶点 以供显示所必要的特征和组件。 因此,其雌地包括,例如一个或多个(可编程)顶点着色器单元、 一个或多 个(可编程)像素t^器单元、 一个或多个光栅化单元、 一个或多个渲染单元 (包括,例女敝理,、雾化和/或混合单元,等等),等,如本领^^f己知的。 在特另lj雌的实施例中,本发明的不同功能在单个图形处理平台上被执行, 戶脱单个图像处理平台生成并输出将被写入到显就备的帧缓冲器的娜。
本发明的各种功能、元素等會辦根据需要来执行,并且例如im他,包括
和/^!M当的功能单元、处理器、 、 M3g辑、微处S^g等而被执行, 其可操作来执行本发明的各种步骤和功能。
本发明可适用于任何形式或配置的图形处理器,例如具有"流水线"装置的 图形处理器。在微实施例中,^Ite用于硬件图形^7Xa雌地澄染^tK 线。
本发明适用于所有形式的图形处理和渲染,例如立即模式渲染、延迟模式 渲染、基于区块的渲染等等,不过其特别适用于^ffl延迟模式渲染的图,染 器并且特别^于基于区块的渲染器。
从战内容齢離的是,本发明特别的,尽管不是专门鹏用于3D图形 处理器和处理设备,并从而扩展至抱括根据&t匕所描述的本发明的任一或多个 方面的娜据其而操作的设备的3D图形处理器和3D图形M平台。以执行上 述特定功會浙必要的硬件为剝牛,此类3D图形处理器育嫩另夕卜包括该3D图像 处理器所包括的樹可一个或多个或,通用功能单元等。
如本领職术人员还将鹏的是,本发明的所有方面和实施例兽辦^^ 地包括此处描述的本发明的《h或多个或^P,的及可选,征。
根据本发明的方法可以至少部^MJi舰软件(例如,计Mi^)来执 行。因此将看到,当織一步方面考虑时,本方面麟了计鄉软件,当安 装在 处理装置上时,,别适于执行此处描述的方法;计穀几禾i^单元, 包括计算机软fH戈码部分,当,单元在数据处理^S上运行时,执行此处描 述的方法;和计算DTIi^,包括代码装置,所述代码装置适于当程序在数据处
理装置Jiii行时执行此处描述的一个或多个方法的所有步骤。
处理系统可以是微^i^^系统、可编程FPGA (现场可编程门阵列)等。
本发明还扩展到计皿软件载体,包皿样的软件,戶皿软件当OT于操 作包括数据处理装置的图形处理器、渲染器或微处理器系统时,与戶M数据处 理^S—起使得所述处理器、M^l或系统执行本发明的方法的步骤。这种计 ^m软件载体可以Ji^理存储介质,如ROM芯片、CDROM^M:,或可以 是信号,如舰导线的电子信号、光信号^B^电信号,如到卫星等的趟电 信号。
此外将会理解的是,荆一所有的本发明的方法的步骤需要由计 1软件来 执行,并且因此,从更宽的方面,本发明提供了计,软件及安装在计算机软 件载体上的软件,用于执行此处陈遂的方法的至少一个步骤。
本发明可以相应地适合于实现为计算机软件程序产品以供计算机系统使 用。这样的实施方式可以包括一系列计穀几可读指令,或者^^在有形介质,
如it^m可读介质例如M:、 Cl>ROM、 ROM或W:,或會辦S31调帝蠏调器 或其他接口装置传送到计 1^统,il^者有形介质,包括但不限于光^l莫 拟通信线路,或^ffi,技术的无形介质,包括但不限于^T波、红外线,或其
他传ir^。计OTl可读指令的序列实5M:处先前描述的所有或部分功能。
本领職术人员将会鹏,此类计飾可读指令會辦以多种编程语言被写
入以供多^H十OTL体系结构或操作系统使用。财卜,可以通过^M壬何存储技 术来存储这样的指令,现在劇每来,包括但不限于半导体、磁、或光,或者使 用樹可通信技术来传送,现在,来,包括但不限于光、红外线或微波。可以 预期,这样的计算me^产品可以被分布为可拆装介质,其具有随附的利用计 ,系统働卩载例如絲统rom或固定 ±, ^M:网络(例如因特网和
万维网)^i艮务器或电子公告板发布的打印或电子文件,例如,JBI软件。


本发明的多^Hm实施例将M:,'讲参考附图来描述,其中
图i示意mte出本发明的:^法和織會辦被有用iteffi到的示例性场景;
图2、 3、 4和6图示了本发明的操作; 图5是图示本发明,作步骤的、 图7示出本发明的另一优选的实施例;
图8、 9和10示出本发明的另一i^的方案;图11图示了本发明的又一实施例;
图12示意性,出了本发明可以在其中实沲的图形处理器。
具体实施例方式
图1示出了将由本发鹏^W用^^用到的图形处麟统渲染的示例性场 景l。如图1中所示,场景包括山的形式的前景对象2,其完^M挡汽车3形式
的另一m。
如本领:1|^人员^ 的,汽车3将是由多个與蝶元构成的^对 象,并且通常将被定义为指令中的单个織,用,臓指令将微送到图形处 理系统以用于渲染场景l。
在不是根据本方面进行操作的图形处理系统的普通操作中,通过以下方式 来处理场景l:依次取执行构皿车3的^基元,并且处理该基元以确定在场 景将ltt示时其是否将出现在场景1中。假定在场景1中汽车3实际完全被山2 戶鹏挡,贝晒此在本例中这将弓l舰实际上不能被看到的大量基元的舰。
如,讨论,本发明意识到这种可能性并且提出了用于当渲染场景1时处 理汽车3的可替换方案。本发明的^,图2和3中示出。
如2所示,并且如J^fi寸论的,本方面的该实施例的基本原则是, 示汽车3的術只,在本例中,戶;M術p湖围绕M^赠(辩)3的边界懒只 4的形式。
然后如图3所示,使用边界体积4而不J^且皿车3的实际基元来处理场 景l。这于是简化了就汽车3 (S^鄉)而言场景的处理,因为,如图3所示, 肯辦确定在场景中汽车3的边界術只彰示4将被完^ii挡,从而无需处理构成 汽车3的對錢元。这育辦,如上附寸论的那样,显著节省用于场景1的处理 时间和资源。
另一方面,如果从,汽车3的边界術只4发现实际上在场景将M示时 该边界^f只的1分将存在于场景中(可见),贝孫统倉嫩着手处S^^W 3 的实际基元以^ttk渲染场景。这在图4中示出,其中繊不同的场景10被示 出,其中边界1^R4没有完全被山2遮挡住。
图5是图示如J^的本发明操作的、Mf呈图。
如图5戶标,在本发明的操作中,图形处理 首先接收渲染场景以供显 示的命令集,如本领^0f已知的。然后将着手识别待显示的场景中的一个或多个ft^X^ (步骤50),其中本发明的^7mte用于待显示的场景。
这样的对本发明将被用于的一个或多个复杂)^的识别可以根据需要来执 行。例如,图形处理器可以简单识别與鄉彌用或多个调用并且把一个或多 个绘制调用当做本发明将,用于的复杂g。另外或可替换地,可以执行场 景的其他分析以i朋体发明,要应用到的^I复杂g,例如通过评估给定 織喻令内基元和膽的斜虫分组,舰i朋搞阶膽,例如,补片或表面, i朋i」m的高I^M述等。
一旦已经识别了一个或多个g^鄉,该实施例中的系统然后着手为颇 象(或者为W^m)生^界^f只(步骤51)。
这可以以任何^I且期望的方式进行,例如,如本领域所已知的。例如, 可以确定由复杂m所覆盖的最;Ul最小x、 y和z位置,并且然后^ffi那些最
^&t小x、 y和z健来M^L界術只,如本领:i^f己知的。另外,如果需要, 可以同,到不那么粗略的边界W^。
而皿可以例如得至1, ^ x和y范围的边界"区域",并且将其与 X^m所覆盖的深度范围相关联,从而JI^用于X^I的边界^IR^。
(在这些方案中,为膽3所定义的顶点繊可以例如被iff古,根据M^ 创建^Rm3的边IWf只4,并且然后变换边界懒只4至幌幕空间以进行渲染。 可替换地,为聰3所定义的顶点 可以例如首先 换至,幕空间,并且 然后Ji^f定义的、用于^幕空间中^^X^3的边界^f只4。)
一旦已经^了边界術只4,图形处理器然后i^该^ffli^m的边界体
积标来处理场景,而不是鹏贼鋭膽3的实际基元。
因此,例如,与边界^f只4相对应的一个或多个基元将被 ,然后针对
场景将其与场景中的其他基元(和X^m) —皿行处理(步骤52)。
处理、淑X^应当把^i界術只4的基元与ttf可其他基元一样JW"待。因
此,它们将例如在渲^13I中被装到适当的区块,如果完全TO区块中则被剔
除,并且會辦并且将经历渲染淑膽中赚的各种形式的遮挡测縱卩離测试。 如上0H寸论的,1OT边界^fM^,行的该处理旨在测试场景中边界体
积的存在与否,在本实施例中^M:i啊古在场景将被显示时在场景中边界^f只
的可见与否来实现。
因此在当前实施例中,该处理包括针对^ 3的边界Wm示(^ii界体积的一个或多个基元)执行仅Z渲^il31,以便确定在场景将被显示时边界 糊标4在场景中是否将被完锁当。根据需要,图形处理器可以被设置为适当的渲染状态以 与复杂对象的 边界体积4相关的这样的"仅Z"操作。在雌实施方式中,这魏过以下方式来 实恥4顿在申请人的较早辨伸请GB-A-2420261中所描述的駄,并M以适当预定义的、fl^对边界^f只4执行仅Z渲^lil的,状态索弓l来新己边 界胸4 (其基元)。边界^fR4的仅Z^TO的结果,如本领 ^术人员齢離的,舰 图形Z轴测试(深度测试)灘,确定在场景将 示时边界#|只4是否在场 景中可见(步骤53)。响应于该确定,图形处理器然后肖辦着手棘丢弃t^膽3 (如果确定边 界体积在场景中根本不可见(当场景将被显示时)'),^it染具有复杂)^m 3 的场景(如果测试确定边界体积(至少部分)可见)。(在该实施例中,图形处理系统MM发以便现在以其"真实"與 元形式 处W"象3,以使得如果边界体积4没,其通过图形处理系统中被舍弃,其能 够鹏以下方^l^^t也渲染至赐景1中赚示膽3的边界M5、 4与适当 信息、繊或機等相关联,戶腿当信息、舰敬礎辦鹏表示膽3的 真实基元的处理。其他方案当然也是可能的。)因此,如图5中所示,作为边界術只4的测试的结果,图形处理器赫丢 弃S^膽并然后織没有^VX^3的场景以供显示(步骤54)或者将着手 渲^a括M^m3的场景(步骤55)。在任Ht况下,图形处理器可以例如再次完全渲染场景,或者具有复杂对 象3 (但是在这种情况下渲染纟賊^^f^ 3的实际基元)或者没有S^Xiim 3,或者繊于如顿己置M:程以用于舰边界術只4来处理场景,可能的是场景实际上将己经在没有复杂g的情况下被渲染,以使得于是仅在s^x^m将会可见的情况下才有必变对场景中包括S^对象的部,行重新渲染。渲染场景(或者具有或者没有复杂对象)以供显示可以根据需要来执行,i^t也以^i寸论的图形处理器的普通方5^行。赵爐该注意,本发明对边W!^只4舰适当保守的"存在'(可见性)测试。因此,例如,如图6所示,当iff古边界條4是否将在场景中被完魏挡时,有必要舰保守测试,戶腿保守测做一个或多个其^^60完^ii挡住 边界^l只4时射寻出该结论。尽管本发明以上实施例已经参照^^示鋭膽3的单顿界^f只4进 行了描述,但是可以生成多T""^h^S^对象3的体积。这可以例如允许丢 弃复杂对象的不同部分,尽管S^m的某MP分将出现在场景中。图7图示了这种方案。在这禾时青况下,^n车3的肿'边界術只"4被分 成两个更小的标性慚只ll、 12,其每一个都以本发明的方微行测试。在这种情况下,相ak糊定慚只ii将需要被渲染以供显示,但是肯辦舍弃由#1只12所包围的S^膽的部分。在本发明特别i^的实施例中,图形处理器可操作,渐细分为复杂)^ 生成的边界体积,以便确定是否从处理中丢弃)^的不同部分。图8、 9、 10对ithS行了图示。图8图示了负,象的示例性初始边界体积20。在该方案中,如果发il^界術只20将g于待显示的场景中,贝收口图9所 示,系统着手#^加她界#^只20细分成四个更小的体积21、 22、 23和24。每4^样的更小体积都以本发明的方式进行测试,并且如果发!Hi^^f只 被完魏挡,贝瞎弃它们,如上附寸论的那样。在图9中,如果发现更小的体积21、 22、 23和24中樹可一个 存在于 场景中,则以相同的方^t其进,一步细分。图10针对,21对lthia行了图示,并_0^出细分为四个更小#|只25、 26、 27和28的術只,同样肯嫩以本发明的方颇其进行测试,并且酌情丢弃。这种对逐渐更小的^性体积的细分和测试可以根据需,重复,例如直 到某一预定鄉牖择的细分极限。尽管已经特别参照确定在场景将被显示时复杂m是否将在场景中出现对 本发明进行了描述,但是申请人已会锁一步认i賜ij,同样可以以类似方式测试t^m是否^i挡场景中的其f(^。这种情况下,将再次生成M^)^ 3的^f且略表示并在遮挡测i^l程中使 用,但这次根据它们是否将被鋭赠遮挡来确定场景中其^t^是否育辦被 丢弃。在这种情况下,不是^fe包围g^m 3的'幼界,術只,而是生成'限定,■,艮P,确切JW闭在i^m内的^IR (其确切,示封闭在复杂X^内 的空间)。图11对 行了图示,并且示出为复杂)( 71 的示例性限定1^只70。 根据需要可以再次生成该限定^f只70,例如ilii考虑将确切地被a^旨 71包围的适当的x、 y和z值范围。如果需要,还可以例如 两个(鞭多) 限定^f只,齡都完全縱M^膽内(例如,标M^鄉的不同部分)。一旦己经得到鋭赠的适当限定^f只70,贝悄滩再^i3i以下方絲处 理场景iOT该限定^f只^^S^m71并相皿确定^^m是否将遮挡在场景中出现的樹可其wm、基元等(这样它们育辦被丢弃)。再次,针对限定体积70的^Mtmt&被执行为仅Z渲,道,并且限定体 积70^lk以类似于上面戶;f^的'幼界^f只"6^来《顿,以允i特弃将被 驗赚3遮挡的膽。SM^^,的是,复杂对象的限定^l只的,和测m该以适当保守的 方式执行,以确保限定術只例如不包围任何实际没有被复杂对象占据(不会被 遮挡)的场景^f只或区域。在此同样应该理解的是,任何或者所有的在此讨论的与"边界術只"的j柳 相关的可选的和雌的技术,同样可以被(适当地)应用于其中为复杂m生 成'限定体积"航案。在特别优选的实施例中,为给定复杂m生成边界体积(一个或多个)限 定懒只(一个或多个),以,方式处理每一个这样的^IR。更^ ,这是针 对场景中的多个^V赠而进行的。这可以例如然后允许从场景处理中丢弃那^J^中的一个或多个。本发鹏辦根据需要在图形处縣统中并且以倒可雜诚舰图形处理 器来实施。图12示意't4Jte出了倉辦根据本发明操作的图形处理系统100的方案。 图12示出基于区块的图形处理系统。然而,如^a^的,并且如上卵寸 论的,本发明肯嫩以图形处麟统的其他方案来鄉。如图12所示,图形处理系统100包括图形处理器110,和用于图形处理器 的驱动器Ul,如本领域已知的,其通常驻留在并在图形处理器110被耦合到的 主机和数据的列表等到图形处理器以指示其响应于来自运行在主机处理器上的应用 禾i^等的对图形显示的调用而渲染图形以供显示。如图12所示,图形M器110包括顶点^fe器H2、 (binning)单元 U3、状态管理单元101、光I8W七级102和渲染i^燃形式的渲染级103。顶点節器112,如本领域已知的,从驱动器Ul取f辦織啲图形鄉、 顶点等的描述,并JJ^那些m和顶点执行适当的顶点着色操作等,以便例如 对,卩顶点执行适当的变换和照,作。如本领域已知的,^单元113将场景所需的各种基元、,等分类(装 仓)到区块的适当仓中(区妙據)(其中待显示的场景被拆分到戶腿区块中) (因为,如上讨论,该示例性图形处鹏统是基于区块的图形处縣统)。状态管理单元101存储瓶带狀^^和图形处理单元的状态,以控制图 形,操作,如本领域所已知的。光栅化器102把待显示的基元作为Mr入,并光WW^S^flJ待渲染的 片段,(片段),如本领^0f已知的。渲染漱膽103从光栅化器102获取片段并^^片段以供显示。如本 领^F万已知的,渲染淑JC线将包括多个不同的处理单元,例如片段着色器、混 合器、纹理,器等。来自織船燃103 (经渲染的片段)的输出被输出到区块缓冲器104 (因 为本发明是基于区块的系统)。区块缓冲器的输出然后最后被输出到帧缓冲器 105以供显示。将会,的是,如图12所示的图形处理器的各级、元素和单元等中的每一 个者阿以根据需要来执行并从而将包括例如适当的电路,和/或处aif辑,可编 禾驟辑等,以用于执行必变的操作和功能,并 ^适当的控制和处理%^, 以用于执行本发明。在根据本发明的该图形处縣统no ,作中,驱动器m将例如操作来 i朋隨当的t^鄉(其中它将命令图赚理器110对臓^^mit疔渲染以供显示),并然后可以或者控制主机处理器以为那m^,适当的^性体积或者向图形处理器110的顶点^fe器112 ii^适当的指令以^期望的g 性体积,并然后命令图形处理器110中其余单元和各级相/Si也处理这^^性舰在这一点,如本领:^^人员将会離的,織会是可以被特别控制以执 行适当的例如针对m的^tt体积的仅Z处理的g单元113、光栅化器102 和区块缓冲器104的操作。其他方案当然也是可能的。例如,顶点熟器112可能被Eg^既ii^lJ适当的例如待渲染的场景中的适当的例如复杂)^tm,并然后生皿样的)^的一个或多^Hi当的,性^IR,并相 发明的方^*触,作。Sbay^理解的是,图12仅i^意'f4i也示出方案,并且因此,例如本发明,作中的 流无需并可以不与图12所示的一样,但是可以例如酹瞎包括在如图12所示的各单元和各级之间的 的回送。如本领域^人员>1## 的,會辦<顿樹可适当的繊 *发明。从上文育辦看到,本发明至少在其雌实施例中衝共了一种用于处理待渲染的场景中的复杂m的方案,其肖^l^对此,象的更为髙效且有效的处理。这至少在本发明优选实施例中通过以下方式来实现Mt先使用边界体 积和减限定術只^^鋭撒并然后舰边界綱喊限定條来处理场 景,以在执行对复杂鄉的完全渲染操作之前刑胡f洳场景中复杂繊存在与 否。
权利要求
1.一种在图形处理系统中处理场景以供显示的方法,所述方法包括以下步骤识别场景中的对象;生成用于表示场景中的对象的体积;使用为对象生成的体积来处理部分或全部场景,以评估场景中对象的存在;根据所述评估来确定是否处理场景的对象以供显示。
2. 根据权利要求1戶,的方法,其中生成用于表示场景中的)^的^f只的 步骤包括生自于,场景中的g的边界^f只。
3. 根据权利要求2所述的方法,其中所述使用为g生成的体积^处理部 分或全部场景,以评估场景中对象的存在;以及根据所述i啊古来确定是否处理 场景的^以供显示的步骤,包括以下步骤4顿为鄉铺的边界懒只来处理部分或全部场景,以刑古在场景将^M 示,景中鄉的雜;以及根据,iff古来确定是否^W^以供显示。
4. 根据权利要求2或3 ,的方法,包括 初始生,于^^tm的单个边界術只;并且然后, 如果确定在场景将 示时,界#^少部分存在于场景中,贝IJ: 顿两个颇多另夕卜的^IR, ^初微界術只的不同部分;使用为m生成的两个或更多另外的術只来处理部分或,场景以i啊古场 景中)^的存在;并且根据该i啊古来确定是否处sm的一个或多^分以供显示。
5. 根据iJ^fi"权利要求皿的方法,其中,用于,场景中的)^m的懒只的步骤包括生鹏于^^景中的鄉柳艮定術只。
6. 根据权利要求5 0M的方、法,其中i^为^^的懒只来处理部分或全部场景,以评估场景中m的存在;以及根据戶;M评估来确定是否处理场景的)^以供显示的步骤,包括以下步骤使用为*生成的限定体禾^处理部分或^ 景以刑古在场景将被显示 H^汤景中其他一个或多个对象的存在;并且根据臓刑古来确定是否处理场景的一个或多个其^^以供显示。
7. 根据Jd^i"-权利要求臓的方法,其中<顿为赠生成的#1姊处理部分或^l^景以iTO场景中)^的,的步骤包括 仅执friff古场景中对象的存^^必要的处理。
8. 根据战fr"权利要求臓的方法,其中j顿为鄉生成的体积来处理 部分或^场景以i啊古场景中X^的存在的步骤包括针对所 的糊执行仅z渲^iii。
9. 根据±^<5^权利要求皿的:^法,包括^ffi于^m的两个或更多^f只。
10. —种图形鹏系统,包括 用于识别待处理以供显示的场景中的g的装置;用于生自于 ^场景中的,的#|只的^; 用于使用为^生成的体积来处理部分或全部场景以评估场景中对象的存在的装置;以及用于根据皿iff古来确定是否处理场景的^m以供显示的^a。
11.根据权利要求io臓的系统,其中用于生綱于W^景中的膽的体积的^s包括用于^ffl^示场景中的m的边界術只的^g。
12. 根据权利要求11戶脱的系统,其中用于{顿为膽 的懒只来处理 部分或^场景以刑古场景中自的,的装置;以及用于根据戶;Mi啊古来确定是否处理场景的^以供显示的装置;包括 用于使用为^生成的边界体积来处理部分或,场景以评估在场景将被 显示时场景中m的存在的装置;以及用于根据戶,i刊古来确定是否处a^以供显示的^s。
13. 根据权利要求11或12臓的系统,包括用于初始生^于^^ja的单个边界術只的装置;以及用于然后进行以 下操作的體如果确定在场景将M示时该边界^f只至少部分存在于场景中,贝lj:生成两个或更多另外的懒只,^h^l0^i界術只的不同部分; 使用为X^生成的两个或更多另外的併积凍处理部分或^场景以ifi古场景中鄉的雜;并且根据该荆古来确定是否处a^的一个或多l^p分以供显示。
14. 根据权利要求10-13中任一权利要求戶,的系统,其中用于生^于表示场景中的对象的体积的装置包括用于^用于表示场景中的^的限定#|只
15. 根据权利要求14戶皿的系统,其中用于OT为m,的懒i^处理部 分或^f^景以iffe^景中)^的,的^l;以及用于根据戶;Miff古来确定是否处理场景的对象以供显示的装置,包括用于使用为)^生成的限定^R来处理部分或全部场景以评估在场景将被 显示时场景中其他一个或多个m的存在的装置;以及用于根据戶;Mi啊古来确定是否处理场景的一个或多个其ftwm以供显示的
16. 根据权利要求10—15中任一权利要求戶脱的系统,其中用于《顿为膽生成的術姊处理部分或^^景,以刑古场景中膽的存在的體包括用于仅执m啊古场景中m的存在所必要的处理的装置。
17. 根据权利要求10-16中fr"权利要求戶腿的系统,其中用于〗顿为鄉生成的傳积来处理部分或,场景以im场景中,的存在的^s包括 用于针对所^的^R执行仅z渲^ra的^a。
18. —种包括鹏权利要求10—17中fr"权利要求戶腿的系统的3D图形处 理器。
19. —种it^mii^单元,包^i十Mi软^^码部分,用于当,单元在数据处理^!Lhii行0m行根据权利要求l一9中任一权利要求,的,法。
全文摘要
本发明涉及图形处理系统。当渲染包括由多个单独基元组成的复杂对象的场景1时,不是依次处理组成对象的每个基元,而是生成包围复杂对象的边界体积4,并且然后使用边界体积4而不是组成复杂对象的实际基元来处理场景1。如果确定在场景中对象的边界体积表示4将被完全遮挡(例如,被前景对象2遮挡),则不对组成复杂对象的单独基元进行处理。这能够显著地节省用于场景1的处理时间和资源。
文档编号G06T15/40GK101604454SQ200910159598
公开日2009年12月16日 申请日期2009年6月4日 优先权日2008年6月4日
发明者B·约斯兰, E·索尔加德, J·尼斯塔德 申请人:Arm有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1