CN102208112B - 景深消隐方法、三维图形处理方法及其装置 - Google Patents
景深消隐方法、三维图形处理方法及其装置 Download PDFInfo
- Publication number
- CN102208112B CN102208112B CN201110137364.0A CN201110137364A CN102208112B CN 102208112 B CN102208112 B CN 102208112B CN 201110137364 A CN201110137364 A CN 201110137364A CN 102208112 B CN102208112 B CN 102208112B
- Authority
- CN
- China
- Prior art keywords
- field
- depth
- value
- segment
- maximal
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/10—Geometric effects
- G06T15/40—Hidden part removal
- G06T15/405—Hidden part removal using Z-buffer
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2200/00—Indexing scheme for image data processing or generation, in general
- G06T2200/28—Indexing scheme for image data processing or generation, in general involving image processing hardware
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Geometry (AREA)
- Computer Graphics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Image Generation (AREA)
Abstract
一种景深消隐方法、三维图形处理方法及其装置。该景深消隐方法包括:提供景深高速缓冲存储器,藉以暂存屏幕的至少一影砖所对应的覆盖遮罩以及待定最大景深值,其中,该屏幕栅格化为多个影砖,覆盖遮罩表示影砖中已知部分的像素位置,且待定最大景深值为已知部分中各个像素对应视点的各个景深值中的最大景深值;获得依据影砖及图块所计算产生的绘制遮罩、绘制最大景深值及绘制最小景深值,其中该图块是组建三维图形的平面在屏幕的投影位于影砖内的像素;以及判断已知部分的像素位置是否完全包括该图块的像素位置,配合绘制最小景深值与待定最大景深值的比较,藉以决定是否删去该图块,并是否更新景深高速缓冲存储器的覆盖遮罩以及待定最大景深值。
Description
技术领域
本发明涉及一种三维图形处理技术,特别是涉及一种景深消隐(coarse Zculling)方法、三维图形处理方法及其三维图形处理装置。
背景技术
景深缓冲(depth buffing)技术,或称为Z缓冲(Z-buffing)、Z测试(Z-testing),是三维(three-dimension,3D)图形处理中用来解决图形景深坐标的过程,其可确定在三维场景中被渲染场景的哪些部分将会被看见而显示,而哪些部分将会被隐藏。
举例来说,当支持景深缓冲技术的图形处理器(Graphic Processing Unit;GPU)在渲染三维图形的立体物件时,经处理后的每一个像素通常皆具有一Z值,藉以表示此像素所表示的立体物件在屏幕上的「景深值」。这些Z值便会保存在相对应位置的缓冲区中,这个缓冲区则被称为Z缓冲区或者景深缓冲区(depth buffer)。景深缓冲区通常以像素的X轴及Y轴座标来形成用以保存每个像素景深值的二维阵列。如果场景中的另一个立体物件也在同一个像素生成渲染像素时,那么图形显示卡就会比较二者的景深值,并保留距离观察者较近的物件,并且被保留的像素景深保存到景深缓冲区中。上述的景深缓冲技术亦可称为景深消隐或Z消隐(Z-culling)。
然而,上述的景深缓冲演算法必须先行计算好该立体物件的像素数据及其景深值,并且不管观赏者最终看得见或看不见该立体物件,都必须先取出景深暂存器中的像素景深,并与计算后像素数据的景深值进行比较,这需要占用***存储器相当大的频宽(bandwidth),导致***存储器与图形处理器之间的频宽经常成为影响图形处理速度的主要瓶颈,特别是现今的三维场景通常具有相当高的深度复杂度(depth complexity)。因此,如何解决景深缓冲区的传输量便成为三维图形处理技术中欲待解决的问题。
为了减少对于景深缓冲器的存取,改善景深缓冲所存在的问题,发展出许多方法来解决此问题,粗略景深消隐(coarse Z culling)技术便是其中一种方式。粗略景深消隐技术利用屏幕上所切割的大小相同的影砖(tile)来对立体物件进行栅格化(rasterize),并在***存储器中设立粗略景深缓冲区,藉以记录每个影砖内像素的最大景深值、最小景深值等属性参数。当有新的立体物件进行处理时,粗略景深消隐技术便从***存储器中读取上述属性参数来判断影砖内的立体物件是否已被遮蔽,进而直接剔除被遮蔽的部分。
然而,现有粗略景深消隐技术在处理过程中时常对***存储器中的粗略景深缓冲区进行存取,因此还是会占去相当比重的频宽。并且,现有粗略景深消隐技术在处理过程在算法上大多具有庞大的分支,复杂的判断,在确定景深的相对位置关系时算法复杂,存在大量的比较,并且算法上的复杂也造成硬件实现的复杂。藉此,如何持续降低***存储器的频宽使用率,并降低计算的复杂性便是三维图形处理技术中所欲待解决的问题。
发明内容
本发明提供一种粗略景深消隐方法,藉由增加专属的粗略景深高速缓冲存储器,使其能够利用此高速缓冲存储器来降低对于***主存储器的读写频率,藉以有效地降低对***存储器的存取次数,并减少***存储器的频宽占用。
此外,本发明提供一种三维图形处理方法,其中的粗略景深消隐程序可利用专属的粗略景深高速缓冲存储器来降低对于***主存储器的读写频率,藉以有效地降低对***存储器的存取次数,减少***存储器的频宽占用,提升即时图形处理的速度。
以另一方面而言,本发明提供一种三维图形处理装置,其中的粗略景深消隐模块可利用专属的粗略景深高速缓冲存储器来降低对于***主存储器的读写频率,藉以有效地降低对***存储器的存取次数,减少***存储器的频宽占用,提升即时图形处理的速度。
藉此,本发明提出一种景深消隐方法,适用于三维图形处理装置,该景深消隐方法包括:提供景深高速缓冲存储器,该景深高速缓冲存储器位于该三维图形处理装置内部,且独立于一***存储器之外,其中该***存储器为一计算机***存储器或一显示存储器,藉以暂存屏幕的至少一影砖所对应的覆盖遮罩(coverage mask)以及待定最大景深值,其中,该屏幕栅格化为多个影砖,该覆盖遮罩表示该影砖中已知部分的像素位置,且该待定最大景深值为该已知部分中各个像素对应视点的各个景深值中的最大景深值;获得依据该影砖及图块所计算产生的绘制遮罩(draw mask)、绘制最大景深值及绘制最小景深值,其中该图块是组建该三维图形的平面在该屏幕的投影位于该影砖内的像素,该绘制遮罩表示该影砖中该图块的像素位置,该绘制最小景深值为该图块的投影中各个像素对应该视点的各个景深值中的最小景深值,该绘制最大景深值为该图块中各个像素对应该视点的各个景深值中的最大景深值;判断该已知部分的像素位置是否完全包括该图块的像素位置,配合该绘制最小景深值与该待定最大景深值的比较,藉以决定是否删去该图块,并是否更新该景深高速缓冲存储器的该覆盖遮罩以及该待定最大景深值,当该已知部分的像素位置完全包括该图块的像素位置但是不等于该图块的像素位置的时候,且该绘制最小景深值不大于该待定最大景深值的时候,该待定最大景深值保持不变,以及当该已知部分的像素位置等于该图块的像素位置的时候,且该绘制最小景深值不大于该待定最大景深值的时候,使用该绘制最大景深值与该待定最大景深值之间的最小值来更新该待定最大景深值,其中该影砖所对应的该覆盖遮罩以及该待定最大景深值是从该***存储器中获得并且暂存于该景深高速缓冲存储器。
在本发明的一实施例中,粗略景深消隐方法还包括下列步骤。当上述的粗略景深高速缓冲存储器已满时,则把粗略景深高速缓冲存储器中的数据回存至***存储器。
于另一观点而言,本发明提出一种使用景深消隐方法的三维图形处理方法,适用于三维图形处理装置以将三维场景显示于屏幕,该三维图形处理方法包括:拆解该三维场景以形成至少一平面,将该屏幕栅格化为多个影砖,以依据至少一个影砖及一图块计算产生绘制遮罩、绘制最大景深值及绘制最小景深值,并将该绘制遮罩、该绘制最大景深值及该绘制最小景深值储存于该三维图形处理装置的***存储器,其中该图块是该平面在该屏幕上的投影位于该影砖内的像素,该绘制遮罩表示该影砖中该图块的像素位置,该绘制最小景深值为该图块中各个像素对应一视点的各个景深值中的最小景深值,该绘制最大景深值为该图块中各个像素对应该视点的各个景深值中的最大景深值;依据该绘制遮罩、该绘制最大景深值、该绘制最小景深值及景深高速缓冲存储器进行景深消隐程序,藉以决定是否删去该图块,其中该景深高速缓冲存储器位于该三维图形处理装置内部,且独立于该***存储器之外,其中该***存储器为一计算机***存储器或一显示存储器,其中该景深高速缓冲存储器暂存该影砖所对应的一覆盖遮罩以及一待定最大景深值,该覆盖遮罩表示该影砖中一已知部分的像素位置,且该待定最大景深值为该已知部分中各个像素对应该视点的各个景深值中的最大景深值;当确定保留该图块时,依据保留的该图块进行景深缓冲程序及一像素渲染程序,当该已知部分的像素位置完全包括该图块的像素位置但是不等于该图块的像素位置的时候,且该绘制最小景深值不大于该待定最大景深值的时候,该待定最大景深值保持不变,以及当该已知部分的像素位置等于该图块的像素位置的时候,且该绘制最小景深值不大于该待定最大景深值的时候,使用该绘制最大景深值与该待定最大景深值之间的最小值来更新该待定最大景深值,其中该影砖所对应的该覆盖遮罩以及该待定最大景深值是从该***存储器中获得并且暂存于该景深高速缓冲存储器。
其中,上述的粗略景深消隐程序可包括下列步骤。获得该影砖及该图块所对应的该绘制遮罩、该绘制最大景深值及该绘制最小景深值;以及判断该已知部分的像素位置是否完全包括该图块的像素位置,配合该绘制最小景深值与该待定最大景深值的比较,藉以决定是否删去该图块,并更新该景深高速缓冲存储器的该覆盖遮罩以及该待定最大景深值。
于其他观点而言,本发明提出一种使用景深消隐方法的三维图形处理装置,用以将三维场景显示于屏幕,该三维图形处理装置包括:几何转换模块,拆解该三维场景以形成至少一平面,并将该屏幕栅格化为多个影砖,以依据至少一个影砖及一图块计算产生绘制遮罩、绘制最大景深值及绘制最小景深值,其中该图块是该平面在该屏幕上的投影位于该影砖内的像素,该绘制遮罩表示该影砖中该图块的像素位置,该绘制最小景深值为该图块中各个像素对应一视点的各个景深值中的最小景深值,该绘制最大景深值为该图块中各个像素对应该视点的各个景深值中的最大景深值;景深消隐引擎,与该几何转换模块相耦合,用于依据该绘制遮罩、该绘制最大景深值及该绘制最小景深值进行景深消隐程序,藉以决定是否删去该图块;景深缓冲引擎,与该景深消隐引擎相耦合,用于当确定不删去该图块时,依据该图块进行景深缓冲程序,以更新该影砖的像素;以及像素渲染引擎,与该景深缓冲引擎相耦合,依据更新的该影砖的像素进行像素渲染程序。
其中,上述景深消隐引擎包括有:景深读取模块,从***存储器中获得该影砖及该图块所对应的该绘制遮罩、该绘制最大景深值及该绘制最小景深值;景深高速缓冲存储器,与该景深读取模块相耦合,用于暂存该影砖所对应的覆盖遮罩以及待定最大景深值,该覆盖遮罩表示该影砖中已知部分的像素位置,且该待定最大景深值为该已知部分中该些像素的最大景深值,其中该景深高速缓冲存储器位于该三维图形处理装置内部,且独立于该***存储器之外,其中该***存储器为一计算机***存储器或一显示存储器;景深测试模块,与该景深读取模块以及该景深高速缓冲存储器相耦合,用于判断该已知部分的像素位置是否完全包括该图块的像素位置,配合该绘制最小景深值与该待定最大景深值的比较,藉以决定是否删去该图块;以及景深更新模块,与该景深测试模块以及该景深高速缓冲存储器相耦合,用于依据该景深测试模块的决定结果来更新该景深高速缓冲存储器的该覆盖遮罩以及该待定最大景深值,其中当该已知部分的像素位置完全包括该图块的像素位置但是不等于该图块的像素位置的时候,且该绘制最小景深值不大于该待定最大景深值的时候,该景深更新模块将该待定最大景深值保持不变,当该已知部分的像素位置等于该图块的像素位置的时候,且该绘制最小景深值不大于该待定最大景深值的时候,该景深更新模块使用该绘制最大景深值与该待定最大景深值之间的最小值来更新该待定最大景深值,以及该影砖所对应的该覆盖遮罩以及该待定最大景深值是从该***存储器中获得并且暂存于该景深高速缓冲存储器。
基于上述,本发明实施例在粗略景深缓冲模块中增加了专属的粗略景深高速缓冲存储器,使得在进行粗略景深消隐方法时,能够利用此高速缓冲存储器来降低对于***主存储器的读写频率。换句话说,以往在进行粗略景深消隐方法时,必须经常读写***存储器中的粗略景深缓冲区。本实施例将粗略景深缓冲区中经常被读写的信息(例如遮罩、景深数据等)转移至高速缓冲存储器进行处理,有效地降低对***存储器的存取次数,因而减少了***存储器的频宽占用。
为使本发明的上述特征和优点能更明显易懂,下文特举实施例,并结合附图详细说明如下。
附图说明
图1为投影于屏幕的两个重迭三角形的范例示意图。
图2为图1的影砖(8,5)的立体透视图。
图3为覆盖遮罩及绘制遮罩的示意图。
图4是计算机***的方块图。
图5是依照本发明实施例所述的三维图形处理装置的方块图。
图6是依照本发明实施例所述的三维图形处理方法的流程图。
图7是图6的步骤S620的流程图。
图8是粗略景深高速缓冲存储器中高速缓冲线的字段图。
图9A及图9B为粗略景深消隐程序的举例及其景深方向示意图。
具体实施方式
现将详细参考本发明的示范性实施例,在附图中说明所述示范性实施例的实例。另外,凡可能之处,在附图及实施方式中使用相同标号的元件/构件/符号代表相同或类似部分。
在三维图形绘制过程中,通常分为两部份。首先经过一次“初选”,以影砖(tile)为单位标识出各个影砖中场景的大致位置,也称为粗略景深消隐;之后再进入后续的“精修”过程,以像素(pixel)为单位,具体绘制出每个像素中的三维场景。这两部份处理相互独立并且各自具有完整的处理流程。本文说明粗略景深消隐程序,图1为投影于屏幕100的三角形110及三角形120的范例示意图,图2为图1的影砖(8,5)的立体透视图。由于三角形的几何特性,例如三角形的三个顶点位于一共同平面,因此立体物件可由数目众多的三角形为基础进行表示。在此以三角形110及120作为立体物件的举例,这两个三角形110及120有部分重迭,三角形110位在前面而遮蔽住与三角形120相重迭的区域。三维图形处理方法可将三角形110及120进行栅格化处理,如图1中的栅格线所示,换句话说,可以将屏幕分割成多个大小相同的影砖(tile),例如影砖(8,5),并依据这些影砖来投影转换三角形110及三角形120。一般而言,影砖可为边长8像素乘8像素(8×8)的矩形区域,但应用本实施例者可依据其设计需求来调整影砖的区域大小,并不依此为限。
为了方便说明,在此将图1的影砖(8,5)以景深方向透视方式绘示于图2中,景深值(Z)从接近观赏者视点的"0"延伸至背景的"F"(亦表示为无穷远处)。往景深方向看去,位在影砖(8,5)中的三角形110的图块210将会覆盖住影砖(8,5)中的三角形120的图块220。粗略景深消隐技术可提供位在***存储器中的一粗略景深缓冲区,藉以储存每个影砖的最大景深值、覆盖遮罩等属性参数,其中最大景深值是该影砖中经过绘制各个图块之后,当前未被覆盖的一个图块当中的每一个像素与观察者视点之间的景深距离的最大值,覆盖遮罩CM(cover mask)表示当前该影砖中已绘制过的像素位置。假设三维图形处理方法先行处理三角形110,而图块210的最小及最大Z值分别为"0.2"及"0.4",因此粗略景深缓冲区(8,5)的最大景深值字段被更新为"0.4",并且粗略景深缓冲区(8,5)的覆盖遮罩CM字段则如图3所示进行更新,图3为覆盖遮罩CM及绘制遮罩DM的示意图。由于影砖为8×8像素的矩形区域,因此覆盖遮罩CM及绘制遮罩DM皆为8×8遮罩。绘制遮罩DM(draw mask)是指本次进行绘制的图块在该影砖中投影的像素位置。本实施例在覆盖遮罩CM及绘制遮罩DM的字段中,"1"表示影砖(8,5)中此位置的像素已进行处理绘制,有一个不为无穷远的景深值;而"0"则表示此位置的像素尚未被描绘,其景深值可设置为无穷远。这里"0"和"1"仅起到标识作用,指示出该位置是否存在物体,并不指示物体的景深位置。标示像素为"1"的区域可形成图块210(亦可称为本实施例所述的已知部分),但非以限定本发明,其他应用亦可以以"1"表示尚未被描绘,而"0"则表示已进行处理绘制。
相对而言,正在进行绘制的图块220的最小及最大Z值分别为"0.6"及"0.8",并且图块220的绘制遮罩DM如图3所示。藉此,在继续处理三角形120时,三维图形处理方法会提供图3的图块220所对应的绘制遮罩DM,以及其所有像素中的最小Z值"0.6"及最大Z值"0.8"。藉此,利用覆盖遮罩CM及绘制遮罩DM进行比较,由于图块220在屏幕上的二维像素位置(在此简称为图块220的像素位置)包括了先前已被绘制处理的图块210的像素位置,而且图块220的最小Z值"0.6"大于粗略景深存储器(8,5)的最大Z值字段"0.4",即大于图块210的最大景深值,因此图块220已被图块210完全遮蔽,则本发明的粗略景深消隐方法便可直接将图块220剔除,不需利用此图块220进行接下来的景深缓冲程序。
本发明实施例还在粗略景深消隐模块中增加一个专属的景深高速缓冲存储器,将经常需要读写的数据信息(例如遮罩、景深数据等)转移至此高速缓冲存储器进行处理,使其能够利用此高速缓冲存储器来降低对于***主存储器的读写频率,藉以有效地降低对***存储器的存取次数,并减少***存储器的频宽占用。从而解决现有技术中,由于粗略景深缓冲区是建立在***存储器中,而使得上述的粗略景深消隐程序在执行过程中亦需时常对粗略景深缓冲区进行存取,所以会占去相当比重的频宽这一问题。同时也减少了计算时间和消耗的带宽。
为实现本发明实施例,在此以图4的计算机***40作为举例,图4是计算机***40的方块图。于本实施例中,计算机***40可为个人计算机、笔记型计算机、电子游戏机或相关硬件。电子装置40包括有中央处理单元410、显示装置420、计算机存储器430及显示单元440。
中央处理单元410控制计算机***40的运作,例如执行程序、信息处理及运算,并可将运作期间所需的程序码、信息及数据暂存于计算机存储器430中。显示装置420(例如显示卡)则是专门进行影像、图形的运算处理及画面显示,其利用处理器接口450、存储器接口460及显示控制接口470等桥接接口来分别耦接至中央处理单元410、计算机存储器430及显示单元440(例如液晶平面显示器)。于本实施例中,显示装置420还包含有三维图形处理装置480,其特别针对三维图形进行运算处理,藉以实现本实施例所述的三维图形处理方法及其粗略景深消隐方法。
图5是依照本发明实施例所述的三维图形处理装置480的方块图,图6是依照本发明实施例所述的三维图形处理方法的流程图。请参照图4及图5,耦接至***存储器590的三维图形处理装置480可将三维场景显示于图4的显示单元440的屏幕上,三维图形处理装置480包括有几何转换模块510、粗略景深消隐引擎520、景深缓冲引擎570以及像素渲染引擎580,并且***存储器590中包括有粗略景深缓冲区525及景深缓冲区575,藉以执行图6所述的三维图形处理方法。粗略景深消隐引擎520则包括有粗略景深读取模块530、粗略景深高速缓冲存储器540、粗略景深测试模块550及粗略景深更新模块560,藉以实现图6的步骤S620以及S630所述的粗略景深消隐方法。其中,***存储器590可以是计算机***40的计算机存储器430,亦可以为显示装置420上专门用于三维影像处理的显示存储器,本实施例并不限制于此。
在此以图5的三维图形处理装置480结合图6说明本实施例的三维图形处理方法。于步骤S610中,几何转换模块510拆解三维空间的立体物件而形成多个基本元素(primitives),这些基本元素可由点、线段、三角形或多边形来形成,并可由基本元素的顶点来定义。本实施例以三角形作为上述基本元素的举例。几何转换模块510利用屏幕上切割形成的影砖将这些三角形进行栅格化程序,以取得每个影砖所对应的图块(例如,图2及图3中所绘示,位于影砖(8,5)内三角形110及120分别对应的图块210及220),换句话说,这些图块是用来组建三维场景的三角形中的一部份,并且为三角形在屏幕上的投影位于影砖中的像素。
此外,几何转换模块510利用影砖及图块来计算产生绘制遮罩DM、绘制最大景深值ZDMAX以及绘制最小景深值ZDMIN。绘制遮罩DM则如图3及其说明中所述,其可标示出正在绘制的图块在影砖当中的像素位置,在此不再赘述。绘制最小景深值ZDMIN则是图块当中的每一个像素与观察者视点(观察者视点例如是Z等于"0"的位置)之间的景深距离的最小值。绘制最大景深值ZDMAX则是图块当中的每一个像素与观察者视点之间的景深距离的最大值。
接着,于步骤S620中,粗略景深消隐引擎520获得计算出的绘制遮罩DM、绘制最大景深值ZDMAX及绘制最小景深值ZDMIN,并依据绘制遮罩DM、绘制最小景深值ZDMIN、绘制最大景深值ZDMAX及粗略景深高速缓冲存储器540的相关遮罩、景深信息,进行本发明实施例所述的粗略景深消隐程序,从而决定是否删去相应的图块。图6步骤S620所述的粗略景深消隐程序亦即本实施例所述的粗略景深消隐方法,其详细致动方法将于图7说明。
回到图6的步骤S630,景深缓冲引擎570则可利用未被删去的图块,并配合***存储器590中的景深缓冲区575来进行一景深缓冲程序,藉以更新影砖中的像素。接着,进入步骤S640,像素渲染引擎580依据已更新的影砖像素进行一像素渲染程序,以将已更新的影砖像素显示于图4的显示单元440的屏幕上。
在此详细说明本实施例的粗略景深消隐程序,图7是图6的步骤S620的流程图。在此以图5的粗略景深消隐引擎520配合图7来说明粗略景深消隐程序。
于步骤S710中,粗略景深消隐引擎520提供有一粗略景深高速缓冲存储器540,此粗略景深高速缓冲存储器540具有多条高速缓冲线(cache line),每条高速缓冲线可暂存每个影砖所对应的覆盖遮罩CM、待定最大景深值ZPMAX以及输出最大景深值ZOMAX。其中,待定最大景深值ZPMAX表示影砖中的各个像素中的每一个像素与观察者视点之间的景深距离的最大值;输出最大景深值ZOMAX是该影砖全部画满时使用的一个参数,当影砖中的每一个像素都有不为无穷远的景深值时,将此时待定最大景深值ZPMAX的值导入输出最大景深值ZOMAX,并使用输出最大景深值ZOMAX进行后续的过程。图8是粗略景深高速缓冲存储器540中高速缓冲线的字段图,于本实施例中,由于影砖为8×8像素的矩形区域,因此覆盖遮罩CM的字段便为64位(64-bit),每一位对应一个像素的遮蔽状态,亦即,"1"表示此像素被遮蔽,而"0"则表示此像素未被遮蔽,藉此,便可从覆盖遮罩CM得知已知部分KP(known part)的像素位置。待定最大景深值ZPMAX以及输出最大景深值ZOMAX于本实施例中皆为16位(16-bit)。以图1中的影砖(8,5)为例,由于先计算图块210,所以其对应影砖的覆盖遮罩CM如图3中所示,待定最大景深值ZPMAX为0.4,由于影砖(8,5)没有画满,所以暂时不会使用输出最大景深值ZOMAX,将其初始设为0,但是本发明不局限于此,由于当影砖画满时,将使用待定最大景深值ZPMAX的值导入输出最大景深值ZOMAX,初始化的值会被覆盖掉,所以可将输出最大景深值ZOMAX的值初始化为任意值。
回到图5及图7,接着进入步骤S715,粗略景深读取模块530获得由图6的步骤610计算产生的绘制遮罩DM、绘制最大景深值ZDMAX及绘制最小景深值ZDMIN,便可以依据绘制遮罩DM得知位在影砖中所欲更新的图块DP。仍以图1中的影砖(8,5)为例,现在开始画图块220,其绘制遮罩DM如图3所示,其绘制最大景深值ZDMAX为0.6,其绘制最小景深值ZDMIN为0.8。接着,粗略景深测试模块550判断已知部分KP是否占满整个影砖(步骤S720)。
若已知部分KP并没有占满整个影砖,如本例中的图块210没有占满整个影砖,则粗略景深测试模块550继续判断已知部分KP的像素位置是否完全包括图块(drawn part)DP的像素位置(步骤S730),如,在本例中判断图块210(KP)是否完全包括图块220(DP)。于本实施例中,粗略景深测试模块550可将覆盖遮罩CM及绘制遮罩DM进行一逻辑与(&)。若逻辑与的结果等于绘制遮罩DM时,便表示已知部分KP的像素位置已完全包括图块DP的像素位置(由步骤S730进入步骤S732),如本例中图块210(KP)完全包括图块220(DP)。反之,若逻辑与的结果不等于绘制遮罩DM时,则表示已知部分KP的像素位置并没有完全包括图块DP的像素位置(由步骤S730进入步骤S740),例如,参见影砖(7,3)。
于步骤S732中,粗略景深测试模块550便在绘制最小景深值ZDMIN大于待定最大景深值ZPMAX的时候(由步骤S732进入步骤S734),判断上述的图块DP会被已知部分KP遮盖,因此将图块DP忽略或删去,使其不需进行接续的图形处理。正如本例中,绘制最小景深值ZDMIN0.6大于待定最大景深值ZPMAX0.4,则证明图块220(DP)被图块210(KP)遮盖,因此将图块220(DP)删去。
相对地,若绘制最小景深值ZDMIN并没有大于待定最大景深值ZPMAX,则不删去图块DP,并由步骤S732进入步骤S736,粗略景深测试模块550判断图块DP的像素位置是否与已知部分KP的像素位置相同,若步骤S736为否,则直接进入步骤S750。相对地,若步骤S736为是,粗略景深更新模块560则将绘制最大景深值ZDMAX与待定最大景深值ZPMAX两者之间的最小值存入并更新待定最大景深值ZPMAX(步骤S738),并进入步骤S750。上述步骤S738亦可表示为方程式(1):
ZPMAX=min(ZPMAX,ZDMAX)...............................(1)
回到步骤S730,若已知部分KP的像素位置并未完全包括图块DP的像素位置,例如,影砖(7,3),则不删去图块DP,并进入步骤S740,粗略景深更新模块560则将绘制最大景深值ZDMAX与待定最大景深值ZPMAX两者之间的最大值存入并更新待定最大景深值ZPMAX(步骤S740),然后进入步骤S750。藉此,上述步骤S740亦可表示为方程式(2):
ZPMAX=max(ZPMAX,ZDMAX)...............................(2)
接着,在步骤S750中,粗略景深更新模块560便将未被删去(或未被忽略)的图块DP及已知部分KP的联集作为调整后的已知部分KP,藉以更新覆盖遮罩CM。于本实施例中,粗略景深更新模块560可利用覆盖遮罩CM及绘制遮罩DM的进行一逻辑或(|)后的结果存入覆盖遮罩CM,藉以完成步骤S750。
于本实施例的步骤S760中,若已知部分KP已占满整个影砖时,也就是更新后的覆盖遮罩CM的每个位皆为"1"时,表示此影砖已没有位于无穷远处的像素,粗略景深更新模块560便可将待定最大景深值ZPMAX存入输出最大景深值ZOMAX。这时由于整个影砖中所有的像素的景深值都不是无穷远,即该影砖中的每一个像素点都有物体,所以,使用输出最大景深值ZOMAX来代表整个影砖的景深,在一些特殊的情况下,会使计算更为简便,下文中将详细描述这种情况。
藉此,若下次亦由步骤S715中读取此影砖对应的绘制遮罩DM及其绘制最大景深值ZDMAX与绘制最小景深值ZDMIN,并判断已知部分KP已占满整个影砖时(步骤S720),粗略景深测试模块550便可利用绘制最小景深值ZDMIN是否大于输出最大景深值ZOMAX(步骤S770),藉以比较出图块DP是否已被已知部分KP所遮蔽,从而进入步骤S780以直接删去此图块DP。反之,如果步骤S770为否,则尚需进入步骤S730以继续进行此粗略景深消隐方法。
另一方面,取决于粗略景深高速缓冲存储器540的容量或是粗略景深高速缓冲存储器540中高速缓冲线的数量,粗略景深高速缓冲存储器540不一定可以将每个影砖的覆盖遮罩CM、待定最大景深值ZPMAX及输出最大景深值ZOMAX进行暂存。因此,本实施例的粗略景深消隐方法在步骤S760后增加一步骤S790,当粗略景深测试模块550侦测到粗略景深高速缓冲存储器540已满的时候,则将粗略景深高速缓冲存储器540内的数据回存到***存储器的粗略景深缓冲区525中,使得覆盖遮罩CM、待定最大景深值ZPMAX及输出最大景深值ZOMAX的相关数据得以保存。
基于上述,由于进入步骤S750的情况,例如,执行步骤S738及步骤S740之后,以及当步骤S736为否之时,便无法利用粗略景深消隐方法来进行立体物件的裁剪,因此,本实施例的三维图形处理装置480可于粗略景深消隐引擎520进入S750的同时,利用景深缓冲引擎570来同时执行图6的步骤S630,藉以增加即时图形处理的效能。于其他实施例中,三维图形处理装置480亦可在图7的步骤S790执行完毕后再执行图6的步骤S630,而不限制于此。
本实施例中每条高速缓冲线包括输出最大景深值ZOMAX,但并非用以限定本发明,亦可没有此字段数据,则图7的流程图中步骤S720、S760、S770及S780可省略。
有鉴于此,在此以图9A及图9B作为举例以更加了解本发明实施例,图9A及图9B皆为粗略景深消隐程序的举例及其景深方向示意图。图9A及图9B以2×2的影砖作为举例,因此覆盖遮罩CM及绘制遮罩DM_1~DM_2皆为2×2遮罩。请参照图9A,假设高速缓冲线中覆盖遮罩CM为(1,1,1,0),待定最大景深值ZPMAX为"0.4",输出最大景深值ZOMAX为预设的无穷远"F",并且已知部分KP以覆盖遮罩CM的斜线部分来表示。绘制遮罩DM_1、DM_2皆为(1,1,1,0),绘制遮罩DM_1对应的绘制最大景深值ZDMAX与绘制最小景深值ZDMIN为"0.8",而绘制遮罩DM_2对应的绘制最大景深值ZDMAX与绘制最小景深值ZDMIN为"0.2"。
请同时参照图7及图9A,若步骤S715中粗略景深读取模块读取了绘制遮罩DM_1及其绘制最小景深值ZDMIN"0.8",由于已知部分KP并未占满整个影砖(步骤S720),已知部分KP的像素位置完全包括欲更新的图块DP的像素位置(步骤S730),而绘制最小景深值ZDMIN"0.8"大于待定最大景深值ZPMAX"0.4"(步骤S732),由图9A可轻易知晓,欲更新的图块DP_1的像素位置已完全被已知部分KP所包括,因此便需将此图块DP_1删去。
相对地,若步骤S715中读取了绘制遮罩DM_2及其绘制最小景深值ZDMIN"0.2",由于已知部分KP并未占满整个影砖(步骤S720),已知部分KP的像素位置完全包括了欲更新的图块DP(步骤S730),绘制最小景深值ZDMIN"0.2"并没有大于待定最大景深值ZPMAX"0.4"(步骤S732),并且已知部分KP的像素位置与图块DP_2的像素位置相同(步骤S736)。藉此,由图9A可知,欲更新的图块DP_2将会描绘在屏幕上,并且影砖中所有的像素位置皆由原先的"0.4"描绘到"0.2",因此步骤S738将绘制最大景深值ZDMAX"0.2"及待定最大景深值ZPMAX"0.4"两者之间的最小值(亦即,"0.2")存入待定最大景深值ZPMAX,并于步骤S750中将覆盖遮罩CM(1,1,1,0)及绘制遮罩DM(1,1,1,0)进行联集后的结果(1,1,1,0)存入覆盖遮罩CM,并可利用图6的步骤S630~S640来进行景深缓冲程序及像素渲染程序。
请同时参照图7及图9B,图9A与图9B的不同之处在于,绘制遮罩DM_1、DM_2为(0,0,1,1)。藉此,若步骤S715中的粗略景深读取模块530读取了绘制遮罩DM_1及其绘制最小景深值ZDMIN"0.8"。由图9B可知,由于已知部分KP的像素位置并没有完全包括图块DP的像素位置(步骤S730),因此在进行像素渲染程序后,更新后的已知部分KP的像素会有部分的景深值为"0.4",另一部分更新的像素(例如影砖右下角的像素)景深值则为"0.8"。
藉此,于步骤S740中,将绘制最大景深值ZDMAX"0.8"及待定最大景深值ZPMAX"0.4"两者之间的最大值(亦即,"0.8")存入待定最大景深值ZPMAX,并于步骤S750中将覆盖遮罩CM(1,1,1,0)及绘制遮罩DM(0,0,1,1)进行联集后的结果(1,1,1,1)存入覆盖遮罩CM。接着,由于已知部分KP已占满整个影砖,换言之,覆盖遮罩CM为(1,1,1,1)时,则于步骤S760将待定最大景深值ZPMAX"0.8"存入高速缓冲线的输出最大景深值ZOMAX。
相对地,请重新参照图7及图9B,若步骤S715中的粗略景深读取模块530读取了绘制遮罩DM_2及其绘制最小景深值ZDMIN"0.2"。由图9B可知,由于已知部分KP的像素位置并没有完全包括图块DP的像素位置(步骤S730),因此在进行像素渲染程序后,更新后的已知部分KP的像素会有部分的景深值为"0.4",另一部分更新的像素(例如影砖右下角的像素)景深值则为"0.2"。藉此,如上面所述,步骤S740将绘制最大景深值ZDMAX"0.2"及待定最大景深值ZPMAX"0.4"两者之间的最大值(亦即,"0.4")存入待定最大景深值ZPMAX,并执行步骤S750、步骤S760等相关动作,在此不再赘述。
综上所述,本发明实施例在粗略景深缓冲模块中增加了专属的粗略景深高速缓冲存储器,使得在进行粗略景深消隐方法时,能够利用此高速缓冲存储器来降低对于***主存储器的读写频率。换句话说,以往在进行粗略景深消隐方法时,必须经常读写***存储器中的粗略景深缓冲区。本实施例将粗略景深缓冲区中经常被读写的信息(例如遮罩、景深数据)转移至高速缓冲存储器进行处理,有效地降低对***存储器的存取次数,因而减少了***存储器的频宽占用。
虽然本发明已以实施例揭示如上,然其并非用以限定本发明,本领域的技术人员,在不脱离本发明的精神和范围的前提下,可作若干的更动与润饰,故本发明的保护范围是以本发明的权利要求为准。
Claims (10)
1.一种景深消隐方法,适用于一三维图形处理装置,该景深消隐方法包括:
提供一景深高速缓冲存储器,该景深高速缓冲存储器位于该三维图形处理装置内部,且独立于一***存储器之外,其中该***存储器为一计算机***存储器或一显示存储器,藉以暂存一屏幕的至少一影砖所对应的一覆盖遮罩以及一待定最大景深值,其中,该屏幕栅格化为多个影砖,该覆盖遮罩表示该影砖中一已知部分的像素位置,且该待定最大景深值为该已知部分中各个像素对应一视点的各个景深值中的最大景深值;
获得依据该影砖及一图块所计算产生的一绘制遮罩、一绘制最大景深值及一绘制最小景深值,其中该图块是组建该三维图形的一平面在该屏幕的投影位于该影砖内的像素,该绘制遮罩表示该影砖中该图块的像素位置,该绘制最小景深值为该图块的投影中各个像素对应该视点的各个景深值中的最小景深值,该绘制最大景深值为该图块中各个像素对应该视点的各个景深值中的最大景深值;
判断该已知部分的像素位置是否完全包括该图块的像素位置,配合该绘制最小景深值与该待定最大景深值的比较,藉以决定是否删去该图块,并是否更新该景深高速缓冲存储器的该覆盖遮罩以及该待定最大景深值;
当该已知部分的像素位置完全包括该图块的像素位置但是不等于该图块的像素位置的时候,且该绘制最小景深值不大于该待定最大景深值的时候,该待定最大景深值保持不变;以及
当该已知部分的像素位置等于该图块的像素位置的时候,且该绘制最小景深值不大于该待定最大景深值的时候,使用该绘制最大景深值与该待定最大景深值之间的最小值来更新该待定最大景深值,
其中该影砖所对应的该覆盖遮罩以及该待定最大景深值是从该***存储器中获得并且暂存于该景深高速缓冲存储器。
2.如权利要求1所述的景深消隐方法,决定是否删去该图块包括下列步骤:
当该已知部分的像素位置完全包括该图块的像素位置,且该绘制最小景深值大于该待定最大景深值的时候,删去该图块;以及
当该已知部分的像素位置并未完全包括该图块的像素位置,或者当该已知部分的像素位置完全包括该图块的像素位置且该绘制最小景深值不大于该待定最大景深值的时候,则保留该图块,调整该待定最大景深值,并将保留的该图块及该已知部分的联集作为调整后的该已知部分,以更新该覆盖遮罩,
其中,调整该待定最大景深值还包括下列步骤:
当该已知部分的像素位置并未完全包括该图块的像素位置的时候,使用该绘制最大景深值与该待定最大景深值之间的最大值来更新该待定最大景深值。
3.如权利要求1所述的景深消隐方法,其中包括:
该景深高速缓冲存储器更暂存该影砖所对应的一输出最大景深值;
当该已知部分占满该影砖时,将该待定最大景深值存入该输出最大景深值;以及
当该绘制最小景深值大于该输出最大景深值的时候,删去该图块。
4.一种使用景深消隐方法的三维图形处理方法,适用于一三维图形处理装置以将一三维场景显示于一屏幕,该三维图形处理方法包括:
拆解该三维场景以形成至少一平面,将该屏幕栅格化为多个影砖,以依据至少一个影砖及一图块计算产生一绘制遮罩、一绘制最大景深值及一绘制最小景深值,并将该绘制遮罩、该绘制最大景深值及该绘制最小景深值储存于该三维图形处理装置的一***存储器,其中该图块是该平面在该屏幕上的投影位于该影砖内的像素,该绘制遮罩表示该影砖中该图块的像素位置,该绘制最小景深值为该图块中各个像素对应一视点的各个景深值中的最小景深值,该绘制最大景深值为该图块中各个像素对应该视点的各个景深值中的最大景深值;
依据该绘制遮罩、该绘制最大景深值、该绘制最小景深值及一景深高速缓冲存储器进行一景深消隐程序,藉以决定是否删去该图块,其中该景深高速缓冲存储器位于该三维图形处理装置内部,且独立于该***存储器之外,其中该***存储器为一计算机***存储器或一显示存储器,其中该景深高速缓冲存储器暂存该影砖所对应的一覆盖遮罩以及一待定最大景深值,该覆盖遮罩表示该影砖中一已知部分的像素位置,且该待定最大景深值为该已知部分中各个像素对应该视点的各个景深值中的最大景深值;
当确定保留该图块时,依据保留的该图块进行一景深缓冲程序及一像素渲染程序;
当该已知部分的像素位置完全包括该图块的像素位置但是不等于该图块的像素位置的时候,且该绘制最小景深值不大于该待定最大景深值的时候,该待定最大景深值保持不变;以及
当该已知部分的像素位置等于该图块的像素位置的时候,且该绘制最小景深值不大于该待定最大景深值的时候,使用该绘制最大景深值与该待定最大景深值之间的最小值来更新该待定最大景深值,
其中该影砖所对应的该覆盖遮罩以及该待定最大景深值是从该***存储器中获得并且暂存于该景深高速缓冲存储器。
5.如权利要求4所述的三维图形处理方法,其中,该景深消隐程序包括下列步骤:
获得该影砖及该图块所对应的该绘制遮罩、该绘制最大景深值及该绘制最小景深值;以及
判断该已知部分的像素位置是否完全包括该图块的像素位置,配合该绘制最小景深值与该待定最大景深值的比较,藉以决定是否删去该图块,并更新该景深高速缓冲存储器的该覆盖遮罩以及该待定最大景深值。
6.如权利要求5所述的三维图形处理方法,决定是否删去该图块包括下列步骤:
当该已知部分的像素位置完全包括该图块的像素位置,且该绘制最小景深值大于该待定最大景深值的时候,删去该图块;以及
当该已知部分的像素位置并未完全包括该图块的像素位置,或者当该已知部分的像素位置完全包括该图块的像素位置且该绘制最小景深值不大于该待定最大景深值的时候,则保留该图块,调整该待定最大景深值,并将保留的该图块及该已知部分的联集作为调整后的该已知部分,以更新该覆盖遮罩,
其中,调整该待定最大景深值更包括下列步骤:
当该已知部分的像素位置并未完全包括该图块的像素位置的时候,使用该绘制最大景深值与该待定最大景深值之间的最大值来更新该待定最大景深值。
7.如权利要求5所述的三维图形处理方法,其中包括:
该景深高速缓冲存储器更暂存该影砖所对应的一输出最大景深值;
当该已知部分占满该影砖时,将该待定最大景深值存入该输出最大景深值;以及
当该绘制最小景深值大于该输出最大景深值的时候,删去该图块。
8.一种使用景深消隐方法的三维图形处理装置,用以将一三维场景显示于一屏幕,该三维图形处理装置包括:
一几何转换模块,拆解该三维场景以形成至少一平面,并将该屏幕栅格化为多个影砖,以依据至少一个影砖及一图块计算产生一绘制遮罩、一绘制最大景深值及一绘制最小景深值,其中该图块是该平面在该屏幕上的投影位于该影砖内的像素,该绘制遮罩表示该影砖中该图块的像素位置,该绘制最小景深值为该图块中各个像素对应一视点的各个景深值中的最小景深值,该绘制最大景深值为该图块中各个像素对应该视点的各个景深值中的最大景深值;
一景深消隐引擎,与该几何转换模块相耦合,用于依据该绘制遮罩、该绘制最大景深值及该绘制最小景深值进行一景深消隐程序,藉以决定是否删去该图块;
一景深缓冲引擎,与该景深消隐引擎相耦合,用于当确定不删去该图块时,依据该图块进行一景深缓冲程序,以更新该影砖的像素;以及
一像素渲染引擎,与该景深缓冲引擎相耦合,依据更新的该影砖的像素进行一像素渲染程序,
其中,该景深消隐引擎包括:
一景深读取模块,从一***存储器中获得该影砖及该图块所对应的该绘制遮罩、该绘制最大景深值及该绘制最小景深值;
一景深高速缓冲存储器,与该景深读取模块相耦合,用于暂存该影砖所对应的一覆盖遮罩以及一待定最大景深值,该覆盖遮罩表示该影砖中一已知部分的像素位置,且该待定最大景深值为该已知部分中该些像素的最大景深值,其中该景深高速缓冲存储器位于该三维图形处理装置内部,且独立于该***存储器之外,其中该***存储器为一计算机***存储器或一显示存储器;
一景深测试模块,与该景深读取模块以及该景深高速缓冲存储器相耦合,用于判断该已知部分的像素位置是否完全包括该图块的像素位置,配合该绘制最小景深值与该待定最大景深值的比较,藉以决定是否删去该图块;以及
一景深更新模块,与该景深测试模块以及该景深高速缓冲存储器相耦合,用于依据该景深测试模块的决定结果来更新该景深高速缓冲存储器的该覆盖遮罩以及该待定最大景深值,其中
当该已知部分的像素位置完全包括该图块的像素位置但是不等于该图块的像素位置的时候,且该绘制最小景深值不大于该待定最大景深值的时候,该景深更新模块将该待定最大景深值保持不变;
当该已知部分的像素位置等于该图块的像素位置的时候,且该绘制最小景深值不大于该待定最大景深值的时候,该景深更新模块使用该绘制最大景深值与该待定最大景深值之间的最小值来更新该待定最大景深值;以及
该影砖所对应的该覆盖遮罩以及该待定最大景深值是从该***存储器中获得并且暂存于该景深高速缓冲存储器。
9.如权利要求8所述的三维图形处理装置,其中:
当该已知部分的像素位置完全包括该图块的像素位置,且该绘制最小景深值大于该待定最大景深值的时候,该景深测试模块删去该图块;以及
当该已知部分的像素位置并未完全包括该图块的像素位置,或者当该已知部分的像素位置完全包括该图块的像素位置且该绘制最小景深值不大于该待定最大景深值的时候,则该图块保留,该景深更新模块调整该待定最大景深值,并将保留的该图块及该已知部分的联集作为调整后的该已知部分,以更新该覆盖遮罩,
其中,当该已知部分的像素位置并未完全包括该图块的像素位置的时候,该景深更新模块使用该绘制最大景深值与该待定最大景深值之间的最大值来更新该待定最大景深值。
10.如权利要求8所述的三维图形处理装置,其中该景深高速缓冲存储器更暂存该影砖所对应的一输出最大景深值,当该已知部分占满该影砖时,该景深更新模块将该待定最大景深值存入该输出最大景深值,以及
当该绘制最小景深值大于该输出最大景深值的时候,景深测试模块删去该图块。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110137364.0A CN102208112B (zh) | 2011-05-25 | 2011-05-25 | 景深消隐方法、三维图形处理方法及其装置 |
TW101108287A TWI581209B (zh) | 2011-05-25 | 2012-03-12 | 景深消隱方法、使用景深消隱的三維圖形處理方法及其裝置 |
US13/480,477 US9019271B2 (en) | 2011-05-25 | 2012-05-25 | Z-culling method, three-dimensional graphics processing method and apparatus threrof |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110137364.0A CN102208112B (zh) | 2011-05-25 | 2011-05-25 | 景深消隐方法、三维图形处理方法及其装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102208112A CN102208112A (zh) | 2011-10-05 |
CN102208112B true CN102208112B (zh) | 2015-08-05 |
Family
ID=44696925
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110137364.0A Active CN102208112B (zh) | 2011-05-25 | 2011-05-25 | 景深消隐方法、三维图形处理方法及其装置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US9019271B2 (zh) |
CN (1) | CN102208112B (zh) |
TW (1) | TWI581209B (zh) |
Families Citing this family (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013130030A1 (en) | 2012-02-27 | 2013-09-06 | Intel Corporation | Using cost estimation to improve performance of tile rendering for image processing |
US10242481B2 (en) * | 2012-03-15 | 2019-03-26 | Qualcomm Incorporated | Visibility-based state updates in graphical processing units |
CN102929904B (zh) * | 2012-07-25 | 2016-06-22 | 北京世纪天宇科技发展有限公司 | 一种验证栅格数据的方法及*** |
US8941676B2 (en) * | 2012-10-26 | 2015-01-27 | Nvidia Corporation | On-chip anti-alias resolve in a cache tiling architecture |
GB201223089D0 (en) * | 2012-12-20 | 2013-02-06 | Imagination Tech Ltd | Hidden culling in tile based computer generated graphics |
GB2509113B (en) * | 2012-12-20 | 2017-04-26 | Imagination Tech Ltd | Tessellating patches of surface data in tile based computer graphics rendering |
US9390550B2 (en) * | 2013-04-18 | 2016-07-12 | Intel Corporation | Culling for higher-order motion blur rasterization |
KR102116708B1 (ko) * | 2013-05-24 | 2020-05-29 | 삼성전자 주식회사 | 그래픽스 프로세싱 유닛 |
WO2015037169A1 (ja) * | 2013-09-13 | 2015-03-19 | 株式会社スクウェア・エニックス・ホールディングス | 描画装置 |
US9311743B2 (en) | 2013-10-23 | 2016-04-12 | Qualcomm Incorporated | Selectively merging partially-covered tiles to perform hierarchical z-culling |
US9934604B2 (en) * | 2013-12-27 | 2018-04-03 | Intel Corporation | Culling using masked depths for MSAA |
CN105574806B (zh) * | 2015-12-10 | 2019-03-15 | 上海兆芯集成电路有限公司 | 影像处理方法及其装置 |
US10380789B2 (en) * | 2016-09-16 | 2019-08-13 | Intel Corporation | Method and apparatus for efficient depth prepass |
CN109325992B (zh) * | 2018-10-19 | 2023-07-04 | 珠海金山数字网络科技有限公司 | 图像绘制方法和装置、计算设备及存储介质 |
US10839595B2 (en) * | 2019-02-13 | 2020-11-17 | Intel Corporation | Apparatus and method for optimizing a hierarchical depth buffer |
CN112116519B (zh) * | 2019-06-19 | 2022-12-27 | 畅想科技有限公司 | 图形处理***中的粗略深度测试 |
US11107269B2 (en) * | 2019-12-09 | 2021-08-31 | Intel Corporation | Enhancing hierarchical depth buffer culling efficiency via mask accumulation |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1074945A2 (en) * | 1999-08-06 | 2001-02-07 | ATI International SRL | Method and apparatus for controlling compressed Z information in a video graphics system |
CN1560797A (zh) * | 2003-08-25 | 2005-01-05 | ��ʢ���ӹɷ�����˾ | 减少z缓冲区流量的三维图形处理机制 |
CN101639929A (zh) * | 2008-06-05 | 2010-02-03 | Arm有限公司 | 图形处理*** |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6246415B1 (en) * | 1998-04-30 | 2001-06-12 | Silicon Graphics, Inc. | Method and apparatus for culling polygons |
US6608625B1 (en) * | 1998-10-14 | 2003-08-19 | Hitachi, Ltd. | Three dimensional graphic processor |
US6885378B1 (en) * | 2000-09-28 | 2005-04-26 | Intel Corporation | Method and apparatus for the implementation of full-scene anti-aliasing supersampling |
US6937244B2 (en) * | 2003-09-23 | 2005-08-30 | Zhou (Mike) Hong | Apparatus and method for reducing the memory traffic of a graphics rendering system |
US7450120B1 (en) * | 2003-12-19 | 2008-11-11 | Nvidia Corporation | Apparatus, system, and method for Z-culling |
JP4113524B2 (ja) * | 2004-09-13 | 2008-07-09 | インターナショナル・ビジネス・マシーンズ・コーポレーション | キャッシュ・メモリ・システムとその制御方法 |
TW200744019A (en) | 2006-05-23 | 2007-12-01 | Smedia Technology Corp | Adaptive tile depth filter |
US8547382B2 (en) * | 2008-05-30 | 2013-10-01 | Advanced Micro Devices, Inc. | Video graphics system and method of pixel data compression |
TWI393980B (zh) | 2009-06-08 | 2013-04-21 | Nat Univ Chung Cheng | The method of calculating the depth of field and its method and the method of calculating the blurred state of the image |
-
2011
- 2011-05-25 CN CN201110137364.0A patent/CN102208112B/zh active Active
-
2012
- 2012-03-12 TW TW101108287A patent/TWI581209B/zh active
- 2012-05-25 US US13/480,477 patent/US9019271B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1074945A2 (en) * | 1999-08-06 | 2001-02-07 | ATI International SRL | Method and apparatus for controlling compressed Z information in a video graphics system |
CN1560797A (zh) * | 2003-08-25 | 2005-01-05 | ��ʢ���ӹɷ�����˾ | 减少z缓冲区流量的三维图形处理机制 |
CN101639929A (zh) * | 2008-06-05 | 2010-02-03 | Arm有限公司 | 图形处理*** |
Non-Patent Citations (3)
Title |
---|
Coarse_ZFilter_一种降低带宽的消隐算法及其硬化研究;高可;《中国优秀硕士学位论文全文数据库信息科技辑》;20060531(第5期);I138-409 * |
Coarse-Z Filter:降低深度带宽的图形流水单元;高可 等;《计算机辅助设计与图形学学报》;20061130;第18卷(第11期);1658-1663 * |
基于Cache和层次Z缓存算法的3维图形深度消隐硬件设计和实现;钟伟 等;《中国图象图形学报》;20090731;第14卷(第7期);1392-1398 * |
Also Published As
Publication number | Publication date |
---|---|
US9019271B2 (en) | 2015-04-28 |
TW201248542A (en) | 2012-12-01 |
US20120299910A1 (en) | 2012-11-29 |
CN102208112A (zh) | 2011-10-05 |
TWI581209B (zh) | 2017-05-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102208112B (zh) | 景深消隐方法、三维图形处理方法及其装置 | |
US11270506B2 (en) | Foveated geometry tessellation | |
CN108463837B (zh) | 用于渲染多个细节等级的***和方法 | |
CN108475497B (zh) | 用于渲染多个细节等级的***和方法 | |
JP2020091890A (ja) | 曲面ビューポート上に頂点の投影を近似することによる、グラフィックス処理における画面位置に基づく有効解像度の変化 | |
US20150287158A1 (en) | Method for efficient re-rendering objects to vary viewports and under varying rendering and rasterization parameters | |
US20200410740A1 (en) | Graphics processing systems | |
US20230039100A1 (en) | Multi-layer reprojection techniques for augmented reality | |
US9269180B2 (en) | Computer graphics processor and method for rendering a three-dimensional image on a display screen | |
TWI619092B (zh) | 使用多分辨率改善圖像品質的方法及裝置 | |
WO2020219177A1 (en) | Efficient rendering of high-density meshes | |
US8525843B2 (en) | Graphic system comprising a fragment graphic module and relative rendering method | |
US11631212B2 (en) | Methods and apparatus for efficient multi-view rasterization | |
CN110192225B (zh) | 无序像素着色器导出 | |
US11972518B2 (en) | Hybrid binning | |
CN115715464A (zh) | 用于遮挡处理技术的方法和装置 | |
TW202137141A (zh) | 用於邊緣壓縮抗混疊的方法和裝置 | |
US20240087078A1 (en) | Two-level primitive batch binning with hardware state compression | |
US20220319091A1 (en) | Post-depth visibility collection with two level binning | |
Smit et al. | A shared-scene-graph image-warping architecture for VR: Low latency versus image quality | |
CN118043850A (zh) | Meshlet着色图集 | |
CN117392263A (zh) | 点云立体框绘制方法、装置和存储介质 | |
Zhang et al. | Fast hybrid approach for texturing point models |
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 |