TWI297469B - Mechanism for reducing z buffer traffic in three dimensional graphics processing - Google Patents

Mechanism for reducing z buffer traffic in three dimensional graphics processing Download PDF

Info

Publication number
TWI297469B
TWI297469B TW093121255A TW93121255A TWI297469B TW I297469 B TWI297469 B TW I297469B TW 093121255 A TW093121255 A TW 093121255A TW 93121255 A TW93121255 A TW 93121255A TW I297469 B TWI297469 B TW I297469B
Authority
TW
Taiwan
Prior art keywords
buffer
shadow
reducing
information
tile
Prior art date
Application number
TW093121255A
Other languages
English (en)
Other versions
TW200426709A (en
Inventor
Fred Liao
hong Michael
Original Assignee
Via Tech Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Via Tech Inc filed Critical Via Tech Inc
Publication of TW200426709A publication Critical patent/TW200426709A/zh
Application granted granted Critical
Publication of TWI297469B publication Critical patent/TWI297469B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/005General purpose rendering architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/40Filling a planar surface by adding surface attributes, e.g. colour or texture
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • G06T15/40Hidden part removal
    • G06T15/405Hidden part removal using Z-buffer

Description

1297469 九、發明說明: 【發明所屬之技術領域】 本發明係關於圖形處理,特別係關於一減少z緩衝區流 量之三維圖形處理機制。 【先前技術】 於三維圖形處理時,螢幕上的每個像素(pixel)通常皆包含 一 Z值’此Z值標示此像素所表示之物體在螢幕上的「深度」。 例如,假設代表一舊物體(譬如為一棵樹的一部分)的一像素正 顯示於螢幕中,上述像素之Z值設為Z0,之後又有一新物體(譬 如為部車的一部分)移入上述舊物體所在的同一像素空間 中’而此新物體的z值設為Z1。當此二物體皆於螢幕顯示時, 上述之像素係無法啊表現此二物體,亦即,系關時僅能於 兩者之間擇-顯示。於決定顯示何者時,祕係比較此二物體 之z值’右Z1小於zo(意即此新物體的深度不若上述之舊物 體新物體在舊物體之「上」),則上述之像素應顯示上述之 新物體,且上述像素之Z值係應被更新為Z1 ;反之若Z1大於 zo(意即此新物體的深度大於上述之舊物體,新物體在舊物體 之下」)則上述之像素應顯示上述之舊物體,且上述像素之 二值係應維持為Z0。依上述之顯示方法,某像素之z值係為 對應至該像素之最淺物體的Z值。 …、 1297469 顯示器中像素的Z值通常被儲放於Z緩衝區(z buffer) 中。因每—像素皆具有- Z值,據此,若一顯示器具有X個 水乎像素與Y個H J[像素,則Z麟區具有X紅γ個Z值。 對於咼解析度顯示器而言,Z缓衝區係為相當大的資訊量,且 每當要顯示一新晝面時,系統皆需存取上述之Z緩衝區。於存 取Z緩衝區内之資料時,將會造成大量資料在上述z緩衝區 與〆圖形處理器(GPU,Graphics Processing Unit)之間移動。上 述之圖形處理器係利用Z緩衝區内之資料以產生所欲顯示之 畫面,然而大量的資料流量將會影響上述圖形處理器之處理速 度。據此’減少z緩衝區之流量係可增進系統的處理速度。 先前已有人嘗試著減少Z緩衝區之流量,這些努力已發 展出下列的方法,例如階層式Z法(hierarchical z)、兩步驟繪 圖法(two-pass rendering),以及影像式 Z 壓縮法(image_based z compression)等。然而係由於諸多理由,譬如低壓縮比、低效 率,以及使用上之限制(有些應用程式僅能讀取而無法寫入緩 衝區),上述這些先前發展之方法係不能達成令人滿意的結 果。有鑑於此,發展一能更有效減少Z緩衝區流量之機制係屬 必要。 【發明内容】 本發明之一實施例提供一種壓縮機制以減少儲存於z緩 衝區的資料量。於一種實作方式中,上述之壓縮機制係為一種 1297469 差分Z壓縮法(delta-based z C〇mpression),此壓縮法係於z缓 衝區内儲存壓縮形態的資料(例如差分向量)而非實際之z值, 其中上述之差分向量可於稍後推導得知2值。以差分向量取代 實際z值後,此麗賴制係可大幅減少需要儲存於z緩衝區 之貝訊1’據此’當自Z緩衝區讀取或寫人的資訊量減少後, 則z緩衝區之流量亦隨之減少。 若欲更進一步減少z緩衝區流量,本實施例的一種實作 方式係為將某些壓縮資訊(例如差分向量)儲存於一圖形處理 Φ 機制之區域儲存區雨非Z緩衝區内。令上述差分向量儲存於此 區域儲存區内係可避免自z緩衝區讀取或寫入上述差分向 量,據此可更進一步減少z緩衝區流量。 【實施方式】 本發明在此所探討的方向為一種ooxx。為了能徹底地 暸解本發明,將在下列的描述中提出詳盡的步驟及其組成。顯 然地,本發明的施行並未限定於ooxx之技藝者所熟習的特鲁 殊細節。另一方面,眾所周知的組成或步驟並未描述於細節 中,以避免造成本發明不必要之限制。本發明的較佳實施例會 詳細描述如下,然而除了這些詳細描述之外,本發明還可以廣 泛地施行在其他的實施例中,且本發明的範圍不受限定,其以 之後的專利範圍為準。 本發明在此所探討的方向為一種減少z緩衝區流量之三 7 1297469 維圖形處理機制。為了能徹底地瞭解本發明,將在下列的描述 中提出詳盡的步驟及其組成。賴地,本發明的施行並未限定 於熟知該項技藝者職習的特殊細節。另-方面,眾所胁的 組成或步驟並未描述於細節中,以避免造成本發明不必要之限 制。本發明的較佳實施例會詳細描述如下,然而除了這些詳J 描述之外,本發明還可以廣泛地施行在其他的實施例中,且本 發明的範圍不受限定,其以之後的專利範圍為準。 基礎觀念: 基本名詞定義: 顯示器(display):顯示器係為給使用者觀看之一視訊繪圖 裝置(例如陰極鱗管及減顯的等)。上狀顯抑包含複 數個像素(pixel),其.棘平㈣錢直侧之枝形成—像 素陣列。顯示器可個別操作每個像素以顯示任何影像。 影格(frame):影格係為於任意特定時刻由顯示器綠圖顯 示之一 70整彳1訊H上述之影格&含組iUb彻If彡像的所有 像素資訊。影格的改變會令顯示輯顯示之視訊影像隨之更 動0 影磚(tile):影磚係為顯示器之像素陣列的一子集合。— 影磚通常包含-由水平及垂直像素組賴較小集合(例如—個 八乘八的正方形像轉列)。—個由影磚組成的完全集合將可 8 1297469 完整組成顯示器之像素陣列。 影原(primitive):影原係為建構視訊影像中物件的一邏輯 元件。在圖形處理的領域内,經常被使用的影原係為多邊形 (polygon) ’而上述之多邊形中最常被使用的係為三角形 (triangle) ’且每個物件皆能夠以一個或一個以上的三角形表 現。例如一部汽車係能夠以複數個三角形表現。影原係可被描 緣(rasterize)至影碑或像素上以供顯示器繪圖(rendering)使用。 一影原可能完全位於單一影磚内,或跨越多個影磚(亦即,影 原橫越影碑的邊界),換言之,一影原可能涵蓋單一影碑内的 所有像素,抑或僅圍繞部分像素。 差刀 Z 壓縮法(pelta-based Z compression) 導致Z緩衝區高流量的因素之一係有大量資訊儲存於z 緩衝區。絲減少此資訊量,則Z緩衝區的資訊流量亦將隨之 減夕。差分Z壓縮法之一目的即為減少所需儲存的資訊量。透 過下述範例係為了解差分z壓縮法的最佳方式。 參考第一圖所示,其係為一包含64個像素104之八乘八 、、磚102明’主意:上述尺寸八乘八係便於範例說明,差分 =壓縮法可用於任何p乘q之影磚,其中P與q皆為整數。-〜原106係描綠至上述影碑1〇2之一部分,於此範例中,該影 9 1297469 原所描繪之_係為一三角形。請注意··差分縮法係可應 用於任何·的顧,祕但秘祕(point)、_ine),以及 任何其z值具有線性性質恤咖卿_)的多邊形;於此範例 中使用三肖形係便於綱之故。上述臟1〇6包含了上述影碑 102中的部分像素104。在未顯之情形T,Z緩衝區需爲上 述之影碑102儲存64組Z值(因為上述之影碑1〇2包含64個 像素104)。然_過差分z _之後,z緩舰所f儲存的資 訊將大幅減少。 如第一圖所示,此影原106有三個頂點(vertex),分別為 108(0)、108(1) ’ 與 1〇8(2),且頂點 108⑼之座標為 χ〇,γ〇, Ζ〇、頂點1〇8⑴之座標為幻,w,&以及頂點1〇8(2)之座 標為Χ2,Υ2 ’ Ζ2。糊上述麟’可求解下财程式以推導 出一組相對應於上述影原106的差分向量(deltas): 第一方程式 第二方程式 zo=zs+zx*xo+zy*yo; Z1=ZS+ZX*X1+ZY* Y1 ; Z2=ZS+ZX*X2+ZY*Y2; 第三方程式 其中上述之差分向量為ZS,ZX,ZY。請注意上述之第 一方程式、第二方程式,與第三方程式基本上係為同一方程式 所衍生(亦即Z=ZS+ZX*X+ZY*Y),而其係為不同之座標值分 別代入變數Χ,γ,ζ所得之結果。換言之,代入上述頂點1〇8(〇) 1297469 的座&值可得上述之第一方程式代入上述頂點卿)的座標' 值可传上述之第二方程式,代人上_點啊·座標值可得‘ 上述之第三方程式。 上述之差分向量經推導而得知後,即可用以計算上述影 原106所包含之像素104的z值。更精確地說,z值可透過下 列方程式來計算··
Zn=ZS+ZX*Xn+ZY*Yn; 第四方程式 其中上述之Xn與γη係為像素1〇4之χ與γ之座標值,< 而Ζη係為像素104經計算得出之2值。因上述影原所包 含之像素104的Ζ值可由推導得知,據此,ζ緩衝區内即不需 儲存Ζ值,故Ζ緩衝區内僅需儲存差分向量。換言之,僅需 差分向量即可於稍後推導出ζ值,故當實施上述之壓縮法時, ζ緩衝區内僅需儲存較少量資訊。 透過差分ζ壓縮法所節省之儲存空間於第二圖中更加明 讀 顯,其中第二圖示出者係為第一圖所示之影碑102所對應的一 Ζ緩衝區段(Zbuffer section)202。(於一種實作方式中,每個影 碑102皆有一對應之Z緩衝區段202。)上述之ζ緩衝區段2〇2 包含一標頭列(headerentry)204,此標頭列204中係儲存上述影 原106之差分向量206(亦即ZS,ZX,ZY)。然而,僅儲存上 述之差分向莖206仍無法k供足夠資訊’因其無法指出上述之 11 1297469 差分向量206可應用於哪些像素1〇4(亦即被上述影原1〇6所包 含之像素104)之上。 爲k供此類負訊》2緩衝區亦須於上述之標頭列204中儲 存-影原遮罩(primitive mask)2〇8與―z遮罩(z 卿〇。上 述之影原遮罩208係用以標示被此影原106所包含之像素 104。上述之z遮罩係用以標示未被此影原1〇6所包含之像素 104 °右一像素1〇4未被任何影原1〇6所包含,則此像素⑽ 之z值為祕初始(system sta_時指定給全部像素⑽的初 一種實作方式係為,此影原遮罩2〇8與z 遮罩21G係為一長度為64位元之位元遮柳t mask),其中每 個位元係代表上聰磚1()2中之64個像素ω4之—。於上述 之影原遮罩208中,代表-像素1()4之位元係可標示出其所代 表之像素1G4是否被上述影们G6所包含。於上述之z遮罩 =1〇中,代表-像素104之位元係可標示出其所代表之像素ι〇4 疋否被任何獅1G6所包含^結合上述二者,亦即影原遮罩 2〇8與Z遮罩210 ’即可精確判斷出任一像素1〇4是否為任一 個影原106所包含。 從第-圖到第二圖可_示出差分z壓縮法可節省儲存 空間。z緩衝區不需儲存上述料102的64個z值,僅需儲 存上述差分向量啊卿zs,zx,ζγ)與上述之兩個64 2元 長度之影原遮罩208與Ζ遮罩21〇。若描繪至一影磚1〇2内之 12 .1297469 影原106數量不多,則上述之驗方法可大幅度減少儲存空 間’ -般而言此種情況甚為常見。若描繪至一影碑1〇2内之影 原106數量超過一特定數量(此特定數量依特定之實作而有所 不同)’ _存實際的2值要比·差分ZM、縣更有效率。 ;實乍方式中,於上述之Z緩衝區段202中是否要採用差分 Z壓縮法端賴其是否較具效率而定。 第一圖僅示出單一影原106描繪至單一影碑1〇2之情 況。於更複雜的情況下,係可能有多個影原i〇6描緣至同一影 磚102,第三圖所示之實施例即為此類情形。其中,一第二影 原306亦被描繪至上述影碑1〇2,且此第二影原、3〇6係與上述 之影原106冑份重疊。於此實施例中,類似上述之原理亦可應 用於差分Z壓縮法。 〜 更精雜說,同上述影原106 一般,此第二影原3〇6亦 有三個卿),释),3G8(2)。±叙每_點分別具 有一相關之X,γ,Z座標值((X3,Y3,Z3),(Χ4,Υ4,Z4), (X5 ’ Y5,现。顧上述座標值,可麵下财程式以得出 一組針對上述之第二影原306的差分向量(ddtas): 第五方程式 第六方程式 第七方程式 Z3=ZS+ZX*X3+ZY*Y3 Z4=ZS+ZX*X4+ZY*Y4 Z5=ZS+ZX*X5+ZY*Y5 13 1297469 經推導而得知上述之差分向量(ZS,zx,ZY)後,即可利 用先前提供之第四方程式計算上述之第二影原娜所包含之 任何像素1〇4的ζ值,其中上述第四方程式中之处與Υη係 為像素1〇4之X與Υ之座標值,而Ζη係為像素⑽經計算得 出,Ζ值。因Ζ值係可由推導得知,則ζ緩衝區僅需儲存上 述第二影原306之差分向量而不需儲存實際的Ζ值。 參考第四圖所示,其係為第三圖所示之影碑102的ζ緩 衝區段202之内容示意圖。因上述之影原1〇6與第二影原3〇6 係描繪至同—料1G2,據此,Ζ緩衝區段2〇2需儲放兩組差 分向量,一即針對上述影原1〇6之差分向量2〇6,另一為針對 上述第二影原306之差分向量402。於加入上述第二影原3〇6 後,原第二圖中所示之影原遮罩2〇8與z遮罩21〇需加以更 新。先前已述此Z遮罩210係用以標示未被任何影原所包含之 像素104’因上述第二影原3〇6係包含了更多像素1〇4,據此, 上述之Z遮罩210需排除被上述第二影原3〇6所包含之像素 104 〇 、 上述之影原遮罩208亦須加以更新,一種實作方式係為, 上述兩組差分向量206與差分向量4〇2係共用此一影原遮罩 208。就每組差分向量各設置一個獨立之影原遮罩亦屬可行, 然而上述以兩組以上之差分向量共用同一影原遮罩2〇8將節 省更多空間,據此得以提供更佳的壓縮率。於上述之共用的影 1297469 原遮罩208中’每個位元係用於標示其所代表之像素1〇4爲某 一差分向量所包含。例如,若一位元值係為〇,則此位元所代、 表之像素104係適用於上述差分向量206,亦即此位元所代表 之像素104係為上述影原106所包含;反之,若一位元值為卜 則此位元所代表之像素104係適用於上述差分向量4〇2,亦即 此位元所代表之像素104係為上述第二影原3〇6所包含。就那 些既不被上述影原106與上述第二影原3〇6所包含之像素ι〇4 而言,其所對應之位元值係為一特定之内定值(.fa—),鲁 譬如此内定值係可為〇。乍看下,上述位元之蚊值會讓上述 衫原之-包含更多像素1〇4 ,然而,先前所述之2遮罩彻已 然指出有那些位元係不被任何影原所包含。據此,利用上述z 遮罩210以處理上述之影原遮罩2〇8可過濾、出不被任何影原所 包含之像素。 如第三圖所示’有些像素同時被上述影原1G6與第二影 原3〇6所包含’據此,於上述之影原遮罩2〇8中係無法明確指鲁 出上述之像素為哪個影原所包含實作方式中,一比較Z 值之方法係用以決定上述之像素為哪個影原所包含。舉例而 言’如第三®所示之—像素1G4(z)_時為上述影原106與第 二影原306所包含。料,—上述像素陶之z值係利用上 述影原伽之差分向量206計算而得出,接著,另一上述像素 1〇4⑻之Z值係彻上述影原3G6之差分向量他計算而得 15 1297469 出^然後比較上述兩個z值何者較小(亦即計算出上述影原⑽‘ 與第二影原306何者較淺,較淺之影原將可包含上述像素: 1〇4(Ζ))。若利用上述差分向量2()6所計算得出之z值較小,則 此像素m(z)係為上述影原106所包含;若利用上述差分向量 402所計算得出之z值較小,則此像素1〇4(z)係為上述第二影 原306所包含;於是,上述影原遮罩2〇8巾代表此像素叫) 德元值射據此加⑽定。上述比較z值之綠亦可應用於 每-個同時為上述影原1(>6與第二影原3〇6所包含的像素,據鲁 以決定此像素所屬之影原為何。 第三圖僅示出兩個影原1〇6與3〇6,於實際情況中係可能 有更多影原被描繪至上述影磚1〇2内。參考第五圖所示,其為 於上述之情況下,將差分Z壓縮法所需資訊儲存於上述2緩 衝區段202之示意圖。於一實作方式中,若有一第三圖未示出 之第二影原被描繪至上述影磚1〇2,則上述2緩衝區段將 加入一標頭列502,且針對上述第三影原之一差分向量5〇4與鲁 一影原遮罩506會被加入於上述之標頭列502中。若有一第三 圖未示出之第四影原被描繪至上述影磚102,則上述z緩衝區 段202將加入對上述第四影原之一差分向量5〇8於上述之標 頭列502中。如第五圖所示,於一實作方式中,一個影原遮罩 係對應至兩組差分向量,且每一個標頭列204/502係包含兩組 差分向量與其所對應之一個影原遮罩。據此,若有六個影原被 16 1297469 描繪至上述之影磚102内,則上述Z缓衝區段202係將儲存一-第五圖未示出之第三個標頭列,且此第三個標頭列係將包含兩 組分別對應至第五個與第六個影原的差分向量與一影原遮罩。 因上述Z緩衝區段202可包含不定數目之標頭列,據此, 於上述標頭列204中包含一欄位510以儲存一整數η,據以表 示於上述Ζ緩衝區段202中之標頭列總數。在第五圖中,因有 兩個標頭列204/502位於上述Ζ緩衝區段202中,故此時此整 數η之值係為2。若有更多影原被描繪至上述影磚1〇2内,則 ⑩ 上述之η值將會增加。譬如若有六個影原被描繪至上述影磚 102内,則須有第三個標頭列以儲存相關之差分向量與影原遮 罩,故上述之η值將為3。以此方式在上述標頭列204中儲存 此整數η,係有助於得知在上述ζ緩衝區段202係有多少個標 頭列⑽被讀取以取得差分Ζ壓縮法所需之全部資訊。 由理論上觀之,無論有多少影原被描繪至上述之影磚 102,皆可適用前述所揭露之壓縮法。然而先前已述,於實用鲁 上係存在一實用之影原上限數目,若所欲描緣至一影磚之影原 數目超過上述之影原上限,則儲存實際之ζ值將比使用上述之 壓縮法更節省空間。於一實作方式中,於施行上述之壓縮法前 需檢測被描緣至同-影磚之影原數目是否達到上述之影原上 限數目,若此檢敎結果為真,财瓣差分ζ壓縮法於此一 影磚。 17 1297469 ^於一實作方式中,先前揭露之壓縮法係採每兩組差分向 里共同利用-縣遮罩之方式,細,上述之壓縮法並非必然 以-影原遮罩對應至兩組差分向量以及此·遮罩僅對上述 ^組差分向量提供必要資訊的方式實作(賴此方式係為一可 月匕之實作方式)。反之,於—實作方式中,所有於ζ緩衝區段 2〇2内之影原遮罩的資訊係可結合,以供所有於z緩衝區段加 内之差分向量提供資訊。 —更進-步而言,於-實作方式中,每—個影原遮罩係為 —位元形式之遮罩,其中之每—位祕代表—料内之一特定 像素且每一位元僅有兩種可能之值,分別係〇與丨。若有二 個以上之影原被描繪至此一影磚膨亦即於2緩衝區段2〇2 中而儲存一個以上之差分向量,據此,即不可能僅用一位元以 唯二表示其所代表像素之所屬的獅為何者。第五圖示出四組 差分向量206、4〇2、.’與5⑽,僅用一位元係無法表示其 ^表像素所屬的影原係為此四者之―,因—位元係僅有二種 =值如第五圖中’請注意係有兩個影原遮罩208/506提供 資訊至上述四個差分向量206,402,504,與508。若結合上 述二影原料2咖6之位元,财可能唯—表示某像素所屬 之差分向量為何。 舉例而言’上述之影原遮罩2G8包含—位元代表此影碑 102之左上角像素’且上述影原遮罩5〇6亦包含一位元代表此 1297469 影磚102左上角之同一像素。若此二位元結合為一兩位元長度 之值’亦即其值係可能為〇〇、〇1、1〇,與U其中之一則每 一可能值即可唯一表示上述之四個差分向量的其中之一。譬 如,若上述之兩位元長度值為⑻,則此左上角像素即適用上 述差分向量206;若上述之兩位元長度值為〇1,則此左上角像 素即適用上述差分向量4〇2 ;若上述之兩位元長度值為1〇,則 此左上角像素即適用上述差分向量5G4 ;若上述之兩位元長度 值為η,則此左上角像素即適用上述差分向量5〇8。據此以 此種位元包裹(bit packing)方式結合上述二影原遮罩之位元,係 可唯-絲其峨表騎續制差分向量输。以此類推, 以上述位元包裹方式係可適祕具有三個縣遮罩與六個差 分向置的情況,亦可適用於具有四個影原遮罩與八個差分向量 的情況’且可_推廣至具有更多影罩與差分向量的情 況。依上述方式實作時,每個影原遮罩非僅提供資訊給兩個差 刀向畺反之’母個影原遮罩係於Z緩衝區段2〇2中一提供資 fl、、、口王口P差刀向畺之整體影原遮罩(⑺瓜批幻的一部分。依 上述方法實作時會有—缺點,亦即於—娜原遮罩加入時,必 1動先W加人之—個或—個以上之影原遮罩。譬如,當上述 ”原遮罩506加入時,上述之影原遮罩2〇8可能須加以更 動’亦即原先上述之影原遮罩208僅提供上述二差分向量 之為訊,而上述之影原遮罩506加入時,此影原遮罩 1297469 208係成為一整體影原遮罩之一部分,且此整體影原遮罩係提, 供三或四個差分向量206、402、504、與508之資訊。上述作· 法之一優點在於當差分向量之數目超出影原遮罩2〇8所包含 之差分向量數目時才需要施作上述之位元包裹法,並且上述整 體影原遮罩的大小係隨著差分向量數目的增加才增加。 大型影原與全域差分向量(global delta) 先前所述之差分Z壓縮法係透過減少Z緩衝區内資訊量 · 之方式以減少Z緩衝區之流量。進一步而言,z緩衝區流量的 減少亦可由減少z緩衝區之存取次數而達成。若於某些適當的 環境條件下,專利申請人業已觀察到有許多Z緩衝區之存取係 可進一步省略,據此,z緩衝區流量更可進一步減少。 參考第六圖所示,其係為一大型影原602被描繪至複數 個影磚之示意圖,參考此圖係可了解如何省略Z緩衝區之存取 _ 次數。上述之影原6〇2係完全包含複數個影磚1〇2(1)至 102(13) ’亦部分包含了其他影碑之像素。緣其簡單之故,假 設上述之每一影磚係皆有一對應之Z緩衝區段,且上述之差分 Z壓縮法亦皆應用於此複數個z緩衝區段。 就上述被此大型影原602完全包含之十三個影碑1〇2(1) 至102(13)而言’其所對應之十三個z緩衝區段皆須儲存下列 20 1297469 資訊:(1)-對應於上述影原602之差分向量;(2)一影原遮罩 以指明此影磚内之所有像素皆被上述影原6〇2所包含;⑶一 z 遮罩以指·影_沒有任何像素絲被任何影原包含;⑷ -整數η ’且其值為卜請注意,上述資訊於上述十三個影磚 102(1)至102(13)内皆係相同的。據此,若上述資訊須儲存於上 述十三個影磚所對應之十三個ζ緩衝區段内,亦即同樣的資訊 將寫入Ζ緩衝區十二次;與此相類,當要讀取ζ緩衝區之資 訊時’同樣的資訊將被讀取十三次。上述之重複的寫入與讀取鲁 動作係無鱗’並且平自增加非必要的ζ緩衝區流量。 於-實作方式中,大型影原之差分向量資訊係不儲放於Ζ 緩衝區内以減少4複存取及ζ緩衝區之流量。反之,大型影原 之差刀向里=貝汛(在此稱為全域差分向量)係被儲存於一圖形 處里機制(GPM ’ Graphics Processing Mechanism)内之區域儲存 區(local storage)。據此’當需要讀取上述之全域差分向量資訊 時’上述之圖形處理機制可從上述之區域儲存區獲得而不經由 φ Z緩衝區;與此她,#需要更動上述之全域差分向量資訊 時,上述之圖形處理機制可更新上述之區域儲存區而非更動z 緩衝區;據此,將可避免對Z緩衝區之重複性讀寫動作,並且 z緩衝區之流量亦隨之減少。於大多數之影格中,專利申請人 業已觀察到大型影原係包含一大比例之影碑,據此,避免爲上 述影磚而存取Z緩衝區將可顯著減少ζ緩衝區流量。 21 1297469 較佳實施範例 參考第七圖,其係為一根據本發明一實施例所建構之圖 形處理系統700之方塊示意圖。緣其簡單之故,第七圖僅示出 與本發明相關之元件。此圖形處理系統700係可能包含一個或 一個以上額外之圖形處理元件。
如第七圖所示,此圖形處理系統700包含一 z緩衝區702 以儲存與一顯示器内所有影碑(第七圖未示出)相關之Z值資 訊。一實作方式係為,上述之Z緩衝區702包含一 m個數目 之s己憶體區段202,其中m係一整數。上述每個記憶體區段 202係對應至一顯示器内之一影磚,亦即影磚與記憶體區段 202具有一對一(one-to_one)之關係。因上述之z緩衝區702具
有m個記憶體區段202,據此,上述之顯示器係具有m個影 碑,且每一記憶體區段202係用於儲存其所對應之影磚的z 值相關資訊。於-實作方式中,上述之z值相關資訊係可為實 際Z值之形齡脚未壓縮之賴),亦可為壓縮之形態 。更精 確而言,此處所謂壓縮形態之資訊係廣泛地指稱能夠以直接 間接方式計算或推導出像素之實際z值的資訊。緣其簡單: 故於以下》寸响時將假疋任何儲存於記憶體區段观之壓縮; 態之資訊係為差分Z壓缩沐, 縮去之形式,亦即於先前討論之第, 圖、第四圖、與第五圖所示 化式。然而,上述之壓縮方式; 22 1297469 屬必要,其他種壓縮形式亦可能達成相同效果。 , 此圖形處理系統7〇〇更包含一圖形處理機鐵GpM)7〇6與 上述之Z緩衝區7〇2相接。於一實作方式中,上述圖形處理機 制706會進行相關必要之圖形處理動作以產生影格供上述之 顯示器賴,據此,上述圖形處理機制必須使用與更新上 述Z緩衝H 702中之資訊’亦即對上述之z值相關資訊進行 壓縮與解壓縮之動作。除此之外,上述之圖形處理機制7〇6亦 負貝儲存與處理全域差分向量及壓縮碼(c〇mpressi〇n⑺如)。就修 整體而言,於一實作方式中,上述之圖形處理機制7〇6可實作 本發明之各項功能。此圖形處理機制706之動作將於稍後詳細 說明。如第七圖所示,此圖形處理機制7〇6係為一獨立元件, 然而,上述圖形處理機制706之各項功能亦可利用複數個獨立 元件實作,且上述每個獨立元件係實作一個或一個以上之功 能,本發明亦可適用於此種分散式的實作方式。 上述圖形處理機制706之各項功能亦可利用任何已知技 術加以實作。例如,上述圖形處理機制706係可以硬體邏輯元 件之方式實作,譬如上述圖形處理機制706係可為一特殊應用 積體電路(ASIC,application specified integrated circuit);除此 之外,上述圖形處理機制706之各項功能亦可以軟體之方式實 作,譬如上述圖形處理機制706係可為一組處理器執行指令之 形態。本發明係可適用於以上所述及其他所有可能之上述圖形 23 1297469 處理機制706實作方式。 · 如第七圖所示’此圖形處理機制7〇6包含—區域儲存區 708。此區域儲存區708係可為上述圖形處理機制7〇6之一部 分,譬如此區域儲存區708與上述圖形處理機制7〇6係位於同 一晶片上;除此之外,此區域儲存區7〇8係可與上述圖形處理 機制706分開。只要符合上述圖形處理機制7〇6可存取上述區 域儲存區708之實作方式皆符合本發明。 上述之區域儲存區708包含複數個紀錄(entry)72〇。如第❿ 七圖所示,此區域儲存區708具有K+1個紀錄72〇,其中κ 係為一整數。上述Κ值係小於上述之m值,亦即上述顯示器 之影磚數目係多於上述複數個紀錄的數目。於一實作方式中, 每個紀錄係可用於儲存一個影原的相關壓縮資訊,此相關壓縮 資訊係可以任何形態存在,然而於一實作方式中,此相關壓縮 資訊係為一組根據上述差分z壓縮法針對一影原所產生之全 域差分向篁。上述之區域儲存區7〇8的使用方式將於稱後加以· 詳述。 上述圖形處理系統700更包含一連接至上述圖形處理機 制706之壓縮碼緩衝區(c〇mpressi〇n c〇de buffer)7〇4。此壓縮碼 緩衝區704係可為上述Z緩衝d 702之-部分,亦或為一獨立 之s己憶體。上述壓縮碼緩衝區7〇4 &含複數個壓縮碼緩衝區段 710。於一實作方式中,每個壓縮碼緩衝區段71()係對應至一 24 1297469 上述之特定影碑與一上述之特定記憶體區段202,亦即此壓縮: 碼緩衝區段710與上述之影磚,以及壓縮碼緩衝區段710與上 述之記憶體區段202皆具有一對一(one-to-one)之關係。據此, 此圖形處理系統700具有m個影磚、m個記憶體區段202與 m個壓縮碼緩衝區段710 〇 上述之壓縮碼緩衝區段710係用於儲存與其相對應之影 磚及記憶體區段202的相關資訊,此相關資訊係用於指示上述 圖形處理機制706該讀取何處之資訊,以及如何處理上述被讀 籲 取之資訊。一種實作方式係為,儲存於此壓縮碼缓衝區段Ή0 之資訊係為一具有八個位元長度之碼(code),其值係可能為以 下四種形態(type)之一: (1) 00000000影碑處於初始狀態 (2) Οχχχχχχχ Z緩衝區段之資訊係為壓縮形態 (3) 11111111 Z緩衝區段之資訊係非壓縮形態 _ (4) Ιχχχχχχχ自區域儲存區讀取壓縮形態之資訊 此碼的内容係全為0,亦即第一形態碼,則代表其所對應 之影碑係處於初始狀態,換言之,並無任何影原被描繪至所對 應之影磚。據此,於其所對應之影磚内之所有像素之Z值係該 被设定為系統之初始z值,故上述圖形處理機制706係不須存 取其所對應之記憶體區段202以獲得關於此影碑之z值資訊, 25 1297469 反之’上述圖形處理機制706僅須將系統之初始Z值填入此影* 碑之所有像素即可。 ’ 若上述碼之值係以〇為首並且接著以七個非全為〇的位 70,亦即第二形態碼,則此碼代表著其所對應之影磚的z值相 關資訊係位於其所對應之記憶體區段202内,除此之外,此碼 亦代表著上述之z值相關資訊係為壓縮形態。據此,上述圖形 處理機制7〇6係可得知其須自此碼所對應之記憶體區段2〇2讀 取關於此碼所對應之影磚的z值相關資訊;同時,上述圖形處 _ 理機制706 φ可得知上述z值相關資訊係為壓縮形態,亦即須 進行解壓縮動作以推導出此影磚内像素之實際Z值。於一實作 方式中,此碼内於〇之後的七個位元係用以指示此碼所對應之 s己憶體區段2G2的標頭列數目,據此係可獲得此記憶體區段 202内的全部壓縮資訊。 若上述碼之值係全為1,亦即第三形態碼,則此碼代表著 此碼所對應之f彡磚的z仙關資訊細賴_態存在於此籲 碼所對應之記憶體區段2〇2内,亦即此碼所對應之記憶體區段 202内之Z值相關資訊係為實際z值。據此,上述圖形處理機 制706可得知其須自此碼所對應之記憶體區段2〇2讀取關於此 碼所對應之影磚的Z值相關資訊;同時,上述圖形處理機制 706並不須對上述Z值相關資訊進行解壓縮動作。 若上述碼之值係以1為首並且接著以七個非全為丨的位 26 1297469 70 ’亦即第四形態碼,則此碼代表著其所對應之影磚係完全為 一大型影原所包含。據此,關於此碼所對應之影碑的z值相關 資訊係不存在於此碼所對應之記憶體區段202内,而係存在於 上述區域儲存區708之一紀錄720内。根據此碼,上述圖形處 理機制706係可得知其應存取上述之區域儲存區708而非存取 此碼所對應之記憶體區段202以獲得此碼所對應之影碑的z 值相關資訊。於一實作方式中,此碼於1之後的七個位元係可 指定上述區域儲存區708之一紀錄72〇以獲得z值相關資訊, 上述圖形處理機制706係可根據此碼更快且更容易地存取此 紀錄720内之Z值相關資訊。 如上所述,此圖形處理機制706可利用位於上述壓縮碼 緩衝區段710之一碼以快速獲得此碼所對應之影碑與記憶體 區段202之Z值相關資訊。於某些情況下,上述碼係可令此圖 形處理機制706避免對上述Z緩衝區702進行存取動作,據 此’ Z緩衝區702之流量係可大幅度地減少。 運作範例(Sample Operation) 參考第八圖、第九圖’與第十圖,其係為根據本發明之 一實施例所建構之一圖形處理系統700的工作流程示意圖。來 考第七圖到第十圖所示,本實施例將詳述於下。 27 1297469 參考第八®,首先進行辣8〇4,本實施觸錢行系統 初始之動作,此動作係撕—些初始化(in璧zatiGn)之卫作。· 更進一步而言,如第七圖所示,位於此壓縮碼緩衝區7⑽之此 壓縮碼緩衝區段’崎有碼冑被設定為G__以指明所 有影磚皆處於初始狀態。除此之外,其他元件如上述之圖形處 理機制706、Z緩衝區702,與區域儲存區7〇8亦可能需要進 行初始化之工作。 於系統初始動作後,接著進行步驟8〇8,上述之圖形處理籲 機制706進行-影格之圖形處理動作,此影格係被稱為目前影 格(current frame)以利後續討論之便。爲處理目前影格,接著進 行步驟812,上述之圖形處理機制7〇6自一圖中未示出之主機 (host)接收一組屬於此影格之有關於一影原的資訊。於一實作 方式中’此影原係為三角形之形態,並且上述關於此影原之資 訊係包含此三角形三_點之座標值。此影職被稱為目前影 原(current primitive)以利後續討論之便。 _ 於自上述之主機獲得資訊後進行步驟816,上述之圖形處 理機制706會計算上述之目前影原的大小,亦即上述之目前影 原的面積’航尺寸與-大娜权臨界值(threshdd)相較, 據以判斷上述之目前影原是否為一大型影原。於系統初始時, 上述之大型影原大小之臨界值係已被設定為一初雖。此初始 值係用以與第-個影格中之影原相較,然而,上述之大型影原 28 1297469 :I於每個祕處理完畢後皆須賤,且更職之臨界值係 相較’稍後於進行步驟柳時將會詳加 :述此-動作。除了判定上述之目前影原是否為一大型影原以 4圖形處理機制706亦針對上述目前影原的面積加以 tl。於Γ實作方式中,上述之分類動作係將目前影原編派至 不固監框(bUcket)的其中之一,其中,每健框係依分類而 包3具有特定面積範圍之影原。 著進行步驟82〇 ’上述之圖形處理機制將上述目前籲 影原對應(mapped)至一個或一個以上的影碑換言之上述之 理機制7〇6判定有哪些影碑會被上述目前影原所對 心前已述’―影原的姆可能跨越多個影碑,據此, 上述之目前影原係可能描緣至複數個影碑。於決定上述目前影 原之清範圍後,接著進行步驟824,上述之圖形處理機制· θ擇定一個被上述目前影原所描緣之影碑。於步驟微中上 述之圖形處理機制706對此被擇定之影碑進行Ζ處理(ζ _ pr〇_ng),此ζ處理將於第九圖與第十圖之討論中詳加救述。 於進行Z處理後,接著進行步驟從,上述之圖形處理機 制706找尋並判斷上述之目前影原是否尚描緣至其他影碑;若 找尋結果為真’壯述之卿處理_ 將重複進行步驟 824以後之步驟’即選擇下一影磚並且對其執行上述之z處 理;反之’若所有被上述之目前影原描繪至的影磚已皆處理完 29 1297469 畢’則對於上述目前影原的處理業已完畢。接著上述之圖形處 =機制706將進行步驟伽以判定上述目前影格中是否仍有未_ 、二處理之W原,若尚有影縣喊理,壯述之圖形處理機制 寫將針對上述未經處理之影原重複步驟812以後之流程(步 驟812至步驟836);若針對目前影格之處理工作皆已完畢,則 上述之圖形處理機制706將接著進行步驟84〇。 於步驟840巾,上述之圖形處理機制706將決定於下-〜格中用以與#原比較之上述大型影原臨界值。於—實作方式❿ 中,上述大型影原臨界值係取決於上述區域儲存區观之容量 與目前影格中影原之面積大小。先前已述,當處理目前影格中 之每個影原時,每個影原皆會被編派至上述複數健框之一。 據此’當目前影原的所有影原皆被處理後,上述之所有影原亦 以面積大小被分類完畢。於一實作方式中,上述之圖形處理機 制706將為下一影格決定一特定尺寸作為上述大型影原臨界 值’使得大於此-特定尺寸之已分類影原數目最接近但不超過❿ 上述區域儲存區708之容量。例如,若上述區域儲存區7〇8之 谷篁係為128筆紀錄’則上述之圖形處理機制yog將擇定一特 疋尺寸,於此目刖影格中’其尺寸大於此一特定尺寸之影原數 目最接近但不超過128。據上述之方式替下一影格擇定此臨界 值的步驟係奠基於下一影格係與上述之目前影格相似的假 $又,而就絕大部分的情況而言,上述之假設係可成立的。 30 1297469 於決定下-影格之大型影原臨界值後,上述之_處理 機制將清除所有籃框以便供下-影格之分類步驟使用。接· 著’此流程將回到步驟8〇8以處理下一影格,此流程(步驟8〇8 至步驟840)將持續重複以處理每一個影格。 如第八圖所示’上述之z處理係被示於單一個步驟828 當中。第九圖與第十圖將更近-步詳細說明此步驟828。於一 實作方式巾’ Z處理係包含哺段(phase):⑴獲得並且處理/ 值相關資訊;以及(2)更新Z值相關資訊。第一階段係示於第# 九圖中,且第二階段示於第十圖中。 當進行Z處理時,一特定影格,一目前影原與一影碍已 被擇定。據此,如第九圖所示,首先進行步驟9〇4,上述之圖 形處理機制706存取第七圖所示之壓縮碼緩衝區段71〇以獲得 -上述被擇定糾之糊碼。如前所述,上述細碼係為四種 形態之一,依據碼的形態不同,上述之圖形處理機制 理亦有所不同。 、处# 更精確地說,進行步驟908,上述之圖形處理機制7〇6判 斷所讀取之碼是否為第一形態碼(亦即為〇〇〇〇〇〇〇〇),若結果為 真,則上述被擇定影磚係處於初始狀態。據此,上述之圖形處 理機制706即不須至相關之z緩衝區段2〇2獲得相關之z = 相關資訊;接著進行步驟912,上述之圖形處理機制7〇6只須 將一初始Z值設定到上述被擇定影磚的每個像素即可。據此,、 31 1297469 上述之圖形處理機制706不須產生任何Z緩衝區流量即可推導 出上述被擇定影碑内所有像素的Z值。 若步驟908之結果為非,則接著進行步驟916,上述之圖 形處理機制706判斷所讀取之碼是否為第四形態碼(亦即 lxxxxxxx),若結果為真,則上述被擇定影磚係被一大型影原 所包含。據此,上述之圖形處理機制7〇6即不須至相關之z 緩衝區段202獲得相關之Z質相關資訊,·接著進行步驟92〇, 上述之圖形處理機制706係自上述區域儲存區中之一紀錄 72〇取得-組壓縮資訊,其巾,此紀錄,之位置係存在於上 述第四形態碼驗七個位元。於__實作方式巾,儲存於此紀錄 720之壓縮資訊係為包含上述被擇定糾之大型影原的全域差 分向量。细細方程式與上述之全域差分向#,上述之圖形 处機制7〇6不須產生任何z緩衝區流量即可推導出上述被擇 定影碑内所有像素的z值,如步驟924。 右步驟916之結果為非,則接著進行步驟卿,上述之圖 形處理機制706判斷所冷说 叫,若結果取之瑪是否為第三形態· w 上述破擇定影碑的z值相關資訊 ==爾於上述2緩衝_之中。據此,進 =32,上述之圖形處理機制 中讀取被擇定影碑的實際z 似又2〇2 右步驟928之纟士罢炎处 、、"果為非,則接著進行步驟936, 上述之圖 32 1297469 形處理機制706判斷所讀取之碼是否為第二形態碼(亦即 οχχχχχχχ) ’若結果為真,則上述被擇定影碑的z值相關資訊 係以壓縮的形態儲存於上述z緩衝區段202之中,同時,上述 之圖形處理機制7G6亦可從此碼的後七錄元得知於上述z 緩衝區段2〇2内有幾組標頭列2〇4。據此,接著缉行步驟⑽, 上述之圖形處理機制7〇6從相關之z緩衝區段2G2中讀取被擇 定影碑壓縮形態的z值相關資訊。接著進行步驟944,利用已 獲得之z值相關資訊’上述之圖形處理機制?〇6推導之上述被 擇定影碑的Z值。於一實作方式中,就推導z值的過程中, 上述之圖形處理機制m可能需要處理一 z遮罩(如第五圖所 妁以得知哪些像素未被任何影原所包含。就此類像素而言, 須設定-初始Z值场此之外,就推導z值的過程中,上述 之圖形處理機制706亦可能需要處理—個或—個以上的影原 遮罩以決定哪些騎被何職所包含。若衫個遮罩,則 所有上述之影原遮罩將可能需要組成—個多位元的整體影原 遮罩’據此,則可建立像素對影原的對應關係,上述之圖形處 理機制將可綱第四方程柄上物原㈣分向量推導 出任一像素的Z值。 依據上述具有柯賴_,峨行上述鋒之一上 述之圖形處賴制706财推W上魏狀料的目前z 值。接著可進行步驟948,上述之圖形處理機制7〇6係進行一 1297469 Z測試程序(Z testing procedure),此z測試程序係比較一個或 一個以上的目前2值與上述目前影原之Z值,以決定何者須· 被更新。-種實作上述Z測試程序之方式亦須推導計算目前影 原之差分向1:。若上述被擇定影碑之任何像素的z值須被更 新,則上述之圖形處理機制706係接著進行第十圖所示之更新 程序。 於此更新程序巾,首先進行步驟麵,上述之圖形處理 機制7〇6將決定此目前影原是否為一大型影原,而上述結果已# 經於第八圖所示之步驟816得出,故直接沿用上述結果。若此 結果為真,雜著進行步驟麵,上述之_處理機制· 判斷此目前影原是否包含整個被擇定之影碑,亦即判斷被擇定 影磚之每個像素的Z值是否皆由此目前影原所決定。 若上述的結果為真,接著進行步驟1012,上述之圖形處 理機制706判斷此目前影原之壓縮資訊是否已經儲存於上述 區域儲存區7G8内。於-實作方式中,上述目前影原之壓縮資_ 訊係包含此目前影原之全域差分向量。因此目前影原係為一大 型影原,故此目前影原係可能完全包含複數個影碑,據此,此 目前影原之全域差分向#可能已域理其他影磚時先儲存於 上述區域儲存區7G8内。若此目前影原之全域差分向量已先储 存於上述區域齡H 内’财須再度齡此項資訊,據 此,上述之圖形處理機制706係接著進行步驟1〇24。 34 -1297469 若上述區域儲存區708内並無此目前影原之全域差分向 里則接著進行步驟1016,上述之圖形處理機制7〇6判斷上 述區域儲存區7G8内是㈣有任何—筆空的紀錄,。若上述 t果為真’則接著進行步驟麵,上述之圖形處理機制鄕 將此目刖影原之全域差分向量儲存於一筆空白紀錄72〇中。接 者,進行步驟1024,上述之圖形處理機制7〇6 _對應於此 目前影碑之壓縮碼緩衝區段710的碼更新為一第四形態碼,以 指出此目前影碑係為-大型影原所完全包含。再者,此碼的後 七位元將指出上述此目前影原之全域差分向量係儲存於哪個 壓縮碼緩衝區段71G。此目前影碑之z值相關資訊係依據上述 程序被更新。請注意上述程序並不須存取相對應之2緩衝區段 202,故不產生任何z緩衝區的流量。 於一實作方式中,若此目前影原並非一大型影原,亦或 此目前影原不包括此目前影磚,亦或上述之區域儲存區已無任 何空白紀錄,則上述之圖形處理機制706需要將Z值相關資訊 儲存於此目前影磚所相對應之Z緩衝區段202内。接著,進行 步驟1028,上述之圖形處理機制706判斷上述之z值相關資 訊是否以非壓縮之形態儲存,而此判斷過程係依據第九圖戶斤示 之步驟928所決定,故可沿用至此。若其結果為真,則接著進 行步驟1032’上述之圖形處理機制706係儲存非壓縮形態之2 值相關資訊於此目前影磚所相對應之Z缓衝區段202内,亦即 35 1297469 將實際Z值儲存於相對應之2緩衝區段2〇2。上述目前影碑的· z處理至此結束。 ‘ 若上述步驟1028中,上述之圖形處理機制706對於上述 ,值相關 > "瞒以非壓縮之形態儲存的判斷為否,則接著進 仃步驟1036,上述之圖形處理機制7〇6將更進一步判斷當此 目前影原描輕上频敎之料後,描齡彡原的總數是否超 過原先叹疋之影原上限。先前已述,當有某特定數量以上的影 原描繪至同-影磚時,於相對應之z緩衝區段2〇2儲存實際z籲 值較採用差分Z壓縮法來得有效率。於步驟娜中,上述之 圖形處理機制706會進行上述之影原上限的檢查動作(亦即檢 查於上述Z緩倾段2G2之差分向量的數量,或是檢查標頭列 中之整數η的值)。右影原的數量超過上述之影原上限,則接 著進行步驟1040,上述之圖形處理機制7〇6將上述之ζ值相 關資訊以非麵之形態(亦即實際2^)儲存於上述2緩衝區段 2〇2中。接著,進行步驟1〇44,上述之圖形處理機制7〇6將相 _ 對應之壓縮碼區段710内的碼設定為第三形態碼,用以指明儲 存於上述Ζ緩衝區段202中之Ζ值相關資訊係以非壓縮之形 態儲存於上述Ζ緩衝區段202中。 若上述步驟1036之檢查動作結果為否,則接著進行步驟 1048,上述之圖形處理機制706將壓縮形態之ζ值相關資訊儲 存於上述被擇定影磚相對應之Ζ緩衝區段202中。上述步驟可 36 1297469 ,牽涉到z遮罩之更新(如第五騎示之範取細上述被擇 定影碑中有哪些像素未齡何所包含。上述步驟亦可能牵 涉到新差分向量(由上述之目前影導出之差分向量)的匕增 加,據此可能需要增加-新紀錄與更新標頭列中之整數η = 值。除此之外,上述步驟尚可能需要加人與更新—個或一個以 上的影原遮罩以指明哪些像素係被哪些影原與相關之差分向 量所包含。若加入-新的影原遮罩,上述步驟即可能需要二新 一個或-個以上的獅遮罩(如上述之位元包裹的方式)。上述 更新壓縮職之Ζ值相訊的難更可能需要移除多餘不 必要之差分向#。例如,若-影原遮罩或於位元包裹法下之多 個影原遮罩指出—差分向量係不包括任何像素,壯述之差分 向量須自Ζ緩衝區段2G2中刪除。以上所述之錄可能做法係 於此步驟中加以實作。 接著進行步驟1052,上述之圖形處理機制7〇6更新上述 目前影碑所對應之壓縮碼緩衝區段71〇。若上述壓縮碼缓衝區 段710中的碼係非第二形態碼,則上述步驟需將此碼更新為第 二形態碼,並且上述步驟須更新此碼的後七位元以便指明須自 上述Z緩衝區段2〇2讀取多少筆紀錄。於上述碼被更新完畢 後’關於上述目前影碑之Z處理係完全結束。 根據以上述之方式,Z處理係為一非常節省z緩衝區流 畺之過秋,所有可能產生z緩衝區流量之處皆已避免(例如處 37 1297469 理大型影原以及位於初始狀態之影磚)。甚至於當存取z緩衝 區時,流量皆係因z值相關資訊為壓縮形態(當壓縮形態為最 經濟時)之緣故而減至最少。透過上述方式以最小化z緩衝區 流量,系統之整體性能表現會顯著提升。 顯然地,依照上面實施例中的描述,本發明可能有許多 的修正與差異。因此需要在其附加的權利要求項之範圍内加以 理解,除了上述詳細的描述外,本發明還可以廣泛地在其他的 實施例中施行。上述僅為本發明之較佳實施例而已,並非用以鲁 限定本發明之巾請專繼圍;凡其它未脫縣發明所揭示之精 神下所完成的等效改變絲飾,均應包含在下述冑請專利範圍 内0 【圖式簡單說明】 第圖係為一影原描繪至一影磚之一部分的示意圖; 第一圖係為一儲存差分向量資訊的z緩衝區段之示意 圖’此圖係用於表示使用差分Z壓縮法後的記憶體節省情況; 第三圖係為多個重疊影原描繪至一影碑的示意圖; 第四圖係為-儲存多個差分向量的z緩衝區段之示意 圖’其中上述之多健分向量觸應至不同影原; 第五圖係為—有多個標糊之z緩衝區段之示意圖,其 中上述多個標姻顧存多組差分向量與多組影原遮罩; 38 1297469 第六圖係為一描纷至複數個影磚之大型影原的示意圖, 其中上述之大型影原係完全包含某些影磚; 第七圖係為一根據本發明一實施例所提供之系統的功能 方塊示意圖; 第八圖係為一根據第七圖所示之系統運作的工作流程示 意圖;以及 第九圖與第十圖係為根據本發明一實施例所提供之z處 理的工作流程示意圖。 【主要元件符號說明】 102 影碑 104 像素 106 影原 108 頂點 202 Z緩衝區段 204 標頭列 206 差分向量 208 影原遮罩 210 Z遮罩 306 第二影原 308 頂點 402 差分向量
39 1297469 502 標頭列 504 差分向量 506 影原遮罩 508 差分向量 510 欄位 602 大型影原 700 圖形處理系統 702 Z缓衝區 704 壓縮碼緩衝區 706 圖形處理機制 708 區域儲存區 710 壓縮碼緩衝區段 720 紀錄 804 系統初始之步驟 808 開始處理影格之步驟 812 接收影原資訊之步驟 816 計算影原大小並進行影原分類之步驟 820 描繪影原至影磚之步驟 824 擇定影磚之步驟 828 進行Z處理之步驟 832 判斷是否尚有影碑之步驟 8361297469 840 904 908 912 916 920 924 928 932 936 940 944 948 1004 1008 1012 1016 1020 判斷是否尚有影原之步驟 決定下一影格之大型影原尺寸臨界值之步驟 存取目前影磚所對應碼之步驟 判斷是否為初始值之步驟 設定Z初始值至影碑内所有像素之步驟 判斷影磚是否被大型影原所包含之步驟 自區域儲存區獲取壓縮形態資訊之步驟 利用壓縮形態資訊推導Z值之步驟 判斷Z值相關資訊是否為未壓縮形態之步驟 自Z緩衝區讀取實際Z值之步驟 判斷Z值相關資訊是否為壓縮形態之步驟 自Z緩衝區讀取壓縮形態的Z值相關資訊之步驟 利用壓縮形態資訊推導Z值之步驟 進行Z測試之步驟 判斷目前影原是否為大型影原之步驟 判斷目前影原是否包含整個被擇定影碑之步驟 判斷目前影原之資訊是否已儲存於區域儲存區内之步 驟 判斷區域儲存區内是否還有空紀錄之步驟 儲存全域差分向量至區域儲存區内之步驟 更新壓縮碼緩衝區段内的碼之步驟 1024 1297469 1028判斷Z值相關資訊是否以非壓縮形態儲存之步驟 - 鬌 1032儲存非壓縮形態資訊於Z緩衝區段之步驟 1036判斷是否超過影原數目上限之步驟 1040儲存實際Z值於Z緩衝區段中之步驟 1044更新壓縮碼緩衝區段内的碼之步驟 1048更新Z緩衝區段内的Z值相關資訊之步驟 1052更新壓縮碼緩衝區段内的碼之步驟
42

Claims (1)

1297469 案號09312125$ 97年3月21曰 修正本 申請專利範圍: 1. 一減少Z緩衝區流量之方法,該減少Z缓衝區 流量之方法包含: 接收一目前影原之資訊; 將該目前影原描繪至一影磚,且該影碑具有一相 對應於該影磚之缓衝區段以儲存該影碑之資訊;
判斷該影磚是否被一大型影原所完全包含;以及 當該判斷結果係為該影磚被一大型影原所完全包 含時,自一區域儲存區而非自該相對應之緩衝區段獲 得該影碑之貢訊’豬此以減少Z緩衝區流量。 2. 如申請專利範圍第1項所述之減少Z緩衝區流 量之方法,其中上述之判斷動作更包含:
處理一相對應於該影磚之碼以判斷該影磚是否被 一大型影原所完全包含。 3. 如申請專利範圍第2項所述之減少Z緩衝區流 量之方法,其中上述之碼係用於標示該影磚是否被一 大型影原所完全包含,並且該碼更包含資訊以標示該 影碑之貧訊於該區域儲存區之一特定儲存位置。 4. 如申請專利範圍第1項所述之減少Z缓衝區流 43 ^297469 二之:法’其中上述之自該區域儲存區所獲得之該影, 、之資訊包含一壓縮形態之資訊。 旦·如申明專利範圍第4項所述之減少2緩衝區流 里之方法’其中上述之影碑包含—個或—個以上的像 素’且該壓縮形態之資訊係可用於推導該影碑中至少 —個像素之Z值。 息6.、如申請專利範圍第4項所述之減少2緩衝區流 鲁 八之方法’其中上述之壓縮形態之資訊係包含根據差 分Z壓縮法所推導而得之z值相關資訊。 旦7.如申請專利範圍第6項所述之減少z緩衝區流 里之方去’其中上述之影磚包含_個或一個以上的像 :’且該壓縮形態之資訊係包含一個或一個以上之差 分向量以用於推導該影射至少—個像素之^值。 θ ★申明專利車巳圍第7項所述之減少Ζ緩衝區流 量之方法,該減少Ζ緩衝區流量之方法更包含: 利用該壓縮形態之資訊以推導該影磚中一特定像 素之Ζ值。 曰 申明專利範圍第8項所述之減少ζ緩衝區流 方去其中上述之特定像素之ζ值係可用下列方 44 1297469 程式推導: Zn-ZS+ZX*Xn+ZY^Yn; 其中,忒Xn與Yn係為該特定像素之χ座標值與 y座標值,而Ζη係為該特定像素之ζ值。 1〇·如申請專利範圍第1項所述之減少ζ緩衝區 流量之方法,該減少Ζ緩衝區流量之方法更包含: 判斷該影磚是否處於初始狀態;以及 當判斷結果係為該影碑處於初始狀態時,存取該 相對應之緩衝區段。 11.如中請專利範圍第10項所述之減少ζ緩衝區 流置之方法,其中上述之關於該影碑是否處於初始狀 態的判斷動作更包含·· 理相對應於該影磚之碼以判定該碼是否指出該 影磚係處於初始狀態。 如申請專利範圍第10項所述之減少ζ緩衝區 方去其中上述之影磚包含一個或一個以上像 素,且該減少ζ緩衝區流量之方法更包含: 、田ΰ亥關於該影磚是否處於初始狀態之判斷結果係 ^叹定一初始Ζ值至該影磚之一個或一個以上 45 1297469 之像素。 曱請專利範圍第1項所述之減少 •l w· 流量二方法’該減少Z緩衝區流量之方法更包含. 入勺果係為該影韻未被—大型影原所完 王包含…自該相對應之緩衝區段獲得該影磚之資訊。
、、古旦14.如申請專利範圍第13項所述之減少z緩衝區 :里之方去’其巾上述之自該相對應之緩衝區段所獲 付的邊衫碑之資訊包含—壓縮形態的資訊。 、、古旦15.如申請專利範圍第14項所述之減少z緩衝區 里之方去其中上述之影磚包含—個或—個以上像 素’亚且難縮形態之資訊係可用於推導該影碑中至 少一個像素之z值。
士曰如申請專利範圍第15項所述之減少z緩衝區 、之方去,其中上述之壓縮形態之資訊係包含根據 差分z壓縮法所推導之2值相關資訊。 Π.如申請專利範圍第16項所述之減少z缓衝區 流量之方法,其中上述之影碑包含一個或一個以上像 素’且該壓縮形態之資訊係包含: 對應於一先前被描繪之影原的一組包含一個或一 46 1297469 個μ上的差分向量,其中該組差分向量係可用於推導 該影磚巾至少—轉素之zn及 〜原迫罩其中该影原遮罩所包含之資訊係可 用以指出於該影碑令被該先前被描緣之影原所包含之 一個或一個以上之像素。 •如申明專利範圍第17項所述之減少ζ緩衝區 流量之方法,該減少ζ緩衝區流量之方法更包含: 處理該影原遮罩以判斷一特定像素是否為該先前 被描繪之影原所包含;以及 使用該組差分向量推導該特定像素之Ζ值。 、曰19.如申請專利範圍第17項所述之減少ζ緩衝區 流量之方法’其中上述之壓縮形態之資訊更包含一 Ζ 遮罩以相明於該影碑中未被任何影原所包含之零個或 零個以上之像素。 一 20.如申請專利範圍第19項所述之減少ζ緩衝區 流量之方法,該減少ζ緩衝區流量之方法更包含: 、處理該影原遮罩與該2遮罩以_—财像素是 否為該先前被描繪之影原所包含;以及 使用該組差分向量推導該特定像素之2值。 47 1297469 21·如申請專利範圍第16項所述之減少z緩衝區 流里之方法,其令上述之影磚包含一個或一個以上像 素,並且該壓縮形態之資訊係包含·· 相對應於一先前被描繪之影原之一組包含一個或 個以上的差分向量,其中該組差分向量係可用於推 導該影磚中至少一個像素之2值;以及 複數個影原遮罩,其中該複數個影原遮罩結合後 所包含之資訊係可指出於該影磚中被該先前被描繪之 影原所包含的一個或一個以上之像素。 22.如申請專利範圍第21項所述之減少z緩衝區 流量之方法,該減少Z緩衝區流量之方法更包含: 處理該複數個影原遮罩以判別出一為該先前被描 繪之影原所包含之特定像素;以及 使用該組差分向量推導該特定像素之z值。 23·如申請專利範圍第22項所述之減少z緩衝區 流量之方法,射每—個上叙影原遮料係-位元 遮罩’ 4位元遮罩具有_個位元以描述每—個位於該 p碑中之像素,且该處理該複數個影原遮罩之步驟更 包含: 48 1297469 使用位元包裹方法結合該複數個影原遮罩之位元 以令每一個位於該影磚中之像素皆對應至一多個位元 長度之值,並據此產生相對應於該影磚之一整體影原 遮罩。 24·如申請專利範圍第21項所述之減少z緩衝區 /瓜1之方法,其中上述之壓縮形態之資訊更包含一 z 遮罩,该Z遮罩可指明該影磚中零個或零個以上未被 任何影原所包含的像素。 25·如申請專利範圍第24項所述之減少z緩衝區 /”L里之方法,5亥減少Z緩衝區流量之方法更包含: 理該複數個影原遮罩與該Z遮罩以判別出一為該 先前被描繪之影原所包含之特定像素;以及 用該組差分向量推導該特定像素之z值。
、曰26.如申請專利範圍第25項戶斤述之減^缓衝區 流量之方法’其中每—個上述之影原遮罩係—位元遮 罩’該位元料具有-個位元以描述每—個位於該影 磚中之像素’且該處理該複數個影原料之步驟更包 含: 使用位元包裹方法結合該複數個影原遮罩之位元 49 1297469 以令每-錄於該影磚巾之像素㈣應至—多個位元 長度之值’並據此產生相對應於該料之—整體影原 遮罩。 27·如申請專利範圍帛1項所述之減少z緩衝區 流量之方法,該減少z緩衝區流量之方法更包含: 判斷該目前影原是否為一大型影原; 判斷该目前影原是否完全包含該影磚;以及 §该判斷結果係為該目前影原確係為一大型影原 且忒目4影原完全包含該影碑時,將一該影磚之更新 貝讯儲存於該區域儲存區而非該相對應之缓衝區段 中〇 28·如申請專利範圍第27項所述之減少Z緩衝區 流里之方法’該減少Z緩衝區流量之方法更包含: 更新一柏對應於該影磚之碼以指明該影磚被一大 型影原完全包含。 29·如申凊專利範圍第28項所述之減少z緩衝區 里之方去’其中上述之影磚之更新資訊係儲存於該 區或儲存區之一特定位置,且該碼會被更新以包含用 以標示該特定位置的資訊。 50 1297469 、、去旦30.如申請專利範圍第27項所述之減^緩衝區 里之方法’其中上述之該影磚之更新資訊包含一壓 縮形態之資訊。 、六曰31·如申凊專利範圍第30項所述之減少Z緩衝區 之方法,其中上述之影碑包含一個或一個以上像 素’並且該壓㈣態之資訊射用於推導該影磚中至 少—個像素之Z值。
* ·如ΐ請專利範圍第3 G項所述之減少z緩衝i 流量之方法’其中上述之壓縮形態之資訊係包含制 至分Z壓縮法所推導之“直相關資訊。
^33.如申請專利範圍第%項所述之減少 流量^方法,其中上述之影磚包含-個或-個以B 素’並且該壓縮形態之資訊係包含—個或一個以上$ 差分向量以用於推導該影磚中至少—個像素之?值。 ^34.如申請專利範圍第27項所述之減少2緩_ 流量之方法,該減少Z、緩衝區流量之方法更包含: 當該判斷結果係為該目前影原係非—大型影原, 或該目前影原未完全包含該影磚,或該目前影原㈣ 非-大型f彡原且亦未完全包含該料時,職該影碎 51 1297469 之更新資_存於該相對應之緩衝區段中。 治旦3 5.如申請專利範圍第3 4項所述之減少z緩衝區 方法其中上述之影碑包含一個或一個以上像 素’且該影碑更新資訊之儲存步驟更包含: .判斷該影碑之更新資訊是否應以非壓縮形態儲 存;以及 當該判斷結果係為該影碑之更新資訊係應以_ 縮形態儲存時,則㈣料之更新:纽以㈣縮形態 儲存於該相對應之緩衝區段中。 4曰6. 利1㈣第35項所述之減少z緩衝區 机里之方法,其巾上述之_該影叙更新資訊是否 應以非壓縮形態儲存的判斷動作更包含: 判斷描緣到該影碑之影原數目是否超過一特定影 原數目上限。 、亡37.如申凊專利範圍第35項所述之減少z緩衝區 *里之方法,該減少Z緩衝區流量之方法更包含: —當該判斷結果係為該影磚之更新資訊係應以非壓 縮形態儲存’更新—相對應於該影磚之碼以指明館存 於該相對應之緩娜財之該科之更新資訊係為非 52 1297469 壓縮形態。 38.如申請專利範圍第34項所述之減少z緩衝區 流量之方法,其中上述之影磚更新資訊之儲存步驟包 含: 儲存一壓縮形態之資訊於該相對應之緩衝區段。 39·如申請專利範圍第38項所述之減少Z緩衝區 流置之方法,其中上述之影磚包含一個或一個以上像 素’並且該壓縮形態之資訊係可用於推導該影磚中至 少一個像素之Z值。 4〇·如申請專利範圍第祁項所述之減少z緩衝區 /瓜里之方去’其中上述之壓縮形態之資訊係包含根據 差分Z壓縮法所推導之Z值相關資訊。 41·如申請專利範圍第40項所述之減少Z缓衝區 /瓜里之方法,其中上述之影磚包含一個或一個以上像 素,並且該影磚更新資訊之儲存步驟包含: 諸存相對應於該目前影原之一組包含一個或一個 以上的差分向量,其中該組差分向量係可用於推導該 影磚中至少一個像素之Z值。 42·如申凊專利範圍第41項所述之減少Z緩衝區 53 1297469 /瓜畺之方法其中上述之影碑更新資訊之儲存步驟包 含: 更新位於該相對應之緩衝區段的一個或一個以上 的影原遮罩以指明該影碑中為該目前影原所包含之一 個或一個以上的像素。 43. 如申請專利範圍第41項所述之減少z緩衝區 流量之方法’其中上述之影磚更新資訊之儲存步驟包 含: 於該相對應之緩衝區段中儲存一新的影原遮罩; 以及 更新位於該相對應之緩衝區段的一個或—個以上 的影原遮罩以指明當所有該影原遮罩結合後,該影磚 中為該目前影原所包含之—個或—個以上的像素。 44. 如申請專利範圍第41項所述之減少z緩衝區 流量之方法,其中上述之影磚更新資訊之儲存步驟包 含: 更新-Z遮罩以指明該影磚中未被任何影原所包 含之零個或零個以上的像素。 45. 如申請專利範圍第27項所述之減少z緩衝區 54 1297469 流量之方法,其中上述之目前影原係屬於一目前影 格,且該減少z缓衝區流量之方法更包含: 根據該目前影格内之影原的尺寸決定用以界定一 後續影格中之大型影原的一臨界值。
55 1297469 七、指定代表圖: ^ (一)本案指定代表圖為:第(七)圖。 (二)本代表圖之元件符號簡單說明·· 八、本案若有化學式時,請揭示最能顯示發明特徵的化學式: 202 Z緩衝區段 700 圖形處理系統 702 Z緩衝區 704 壓縮碼緩衝區 706 圖形處理機制 708 區域儲存區 710 壓縮碼緩衝區段 720 紀錄
TW093121255A 2003-08-25 2004-07-16 Mechanism for reducing z buffer traffic in three dimensional graphics processing TWI297469B (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US10/648,496 US7218317B2 (en) 2003-08-25 2003-08-25 Mechanism for reducing Z buffer traffic in three-dimensional graphics processing

Publications (2)

Publication Number Publication Date
TW200426709A TW200426709A (en) 2004-12-01
TWI297469B true TWI297469B (en) 2008-06-01

Family

ID=34273319

Family Applications (1)

Application Number Title Priority Date Filing Date
TW093121255A TWI297469B (en) 2003-08-25 2004-07-16 Mechanism for reducing z buffer traffic in three dimensional graphics processing

Country Status (3)

Country Link
US (1) US7218317B2 (zh)
CN (1) CN100378762C (zh)
TW (1) TWI297469B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9196014B2 (en) 2012-10-22 2015-11-24 Industrial Technology Research Institute Buffer clearing apparatus and method for computer graphics

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8854364B1 (en) 2003-12-22 2014-10-07 Nvidia Corporation Tight depth range occlusion prediction system and method
US8390619B1 (en) 2003-12-22 2013-03-05 Nvidia Corporation Occlusion prediction graphics processing system and method
US8269769B1 (en) * 2003-12-22 2012-09-18 Nvidia Corporation Occlusion prediction compression system and method
US20060209065A1 (en) * 2004-12-08 2006-09-21 Xgi Technology Inc. (Cayman) Method and apparatus for occlusion culling of graphic objects
US9123173B2 (en) * 2005-12-15 2015-09-01 Nvidia Corporation Method for rasterizing non-rectangular tile groups in a raster stage of a graphics pipeline
US8878849B2 (en) * 2007-12-14 2014-11-04 Nvidia Corporation Horizon split ambient occlusion
KR101443221B1 (ko) * 2008-01-18 2014-09-24 삼성전자주식회사 렌더링 장치 및 방법
US8654135B1 (en) 2008-09-10 2014-02-18 Nvidia Corporation A-Buffer compression for different compression formats
US8130223B1 (en) 2008-09-10 2012-03-06 Nvidia Corporation System and method for structuring an A-buffer to support multi-sample anti-aliasing
US8553041B1 (en) * 2008-09-10 2013-10-08 Nvidia Corporation System and method for structuring an A-buffer to support multi-sample anti-aliasing
CN102208112B (zh) * 2011-05-25 2015-08-05 威盛电子股份有限公司 景深消隐方法、三维图形处理方法及其装置
US10089774B2 (en) * 2011-11-16 2018-10-02 Qualcomm Incorporated Tessellation in tile-based rendering
CN103314393B (zh) * 2012-01-13 2016-06-15 松下知识产权经营株式会社 图像生成装置、图像生成方法及集成电路
US9330475B2 (en) * 2012-05-01 2016-05-03 Qualcomm Incorporated Color buffer and depth buffer compression
US10438314B2 (en) * 2012-10-26 2019-10-08 Nvidia Corporation Two-pass cache tile processing for visibility testing in a tile-based architecture
US10008029B2 (en) 2013-05-31 2018-06-26 Nvidia Corporation Updating depth related graphics data
US9418400B2 (en) 2013-06-18 2016-08-16 Nvidia Corporation Method and system for rendering simulated depth-of-field visual effect
GB2520365B (en) 2013-12-13 2015-12-09 Imagination Tech Ltd Primitive processing in a graphics processing system
US8947447B1 (en) 2014-02-13 2015-02-03 Raycast Systems, Inc. Computer hardware architecture and data structures for ray binning to support incoherent ray traversal
GB2526598B (en) * 2014-05-29 2018-11-28 Imagination Tech Ltd Allocation of primitives to primitive blocks
KR102446865B1 (ko) * 2017-09-12 2022-09-23 삼성전자주식회사 경로 렌더링을 수행하는 그래픽 처리 장치 및 그래픽 처리 방법

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5682441A (en) * 1995-11-08 1997-10-28 Storm Technology, Inc. Method and format for storing and selectively retrieving image data
US6052125A (en) * 1998-01-07 2000-04-18 Evans & Sutherland Computer Corporation Method for reducing the rendering load for high depth complexity scenes on a computer graphics display
US6362818B1 (en) * 1998-01-07 2002-03-26 Evans & Sutherland Computer Corporation System and method for reducing the rendering load for high depth complexity scenes on a computer graphics display
KR19990078036A (ko) * 1998-03-18 1999-10-25 추후제출 유효한부동점제트버퍼링을구현하기위한방법및장치
US6492991B1 (en) * 1998-08-28 2002-12-10 Ati International Srl Method and apparatus for controlling compressed Z information in a video graphics system
AU5688199A (en) * 1998-08-20 2000-03-14 Raycer, Inc. System, apparatus and method for spatially sorting image data in a three-dimensional graphics pipeline
US6380935B1 (en) * 1999-03-17 2002-04-30 Nvidia Corporation circuit and method for processing render commands in a tile-based graphics system
JP2000268191A (ja) * 1999-03-17 2000-09-29 Hitachi Ltd 隠面処理方法
US6473082B1 (en) 1999-05-18 2002-10-29 S3 Graphics Co., Ltd. System and method for implementing a two-layer z-range buffer
US6421053B1 (en) * 1999-05-24 2002-07-16 International Business Machines Corporation Block rendering method for a graphics subsystem
US6411295B1 (en) 1999-11-29 2002-06-25 S3 Graphics Co., Ltd. Apparatus and method for Z-buffer compression
US6819321B1 (en) * 2000-03-31 2004-11-16 Intel Corporation Method and apparatus for processing 2D operations in a tiled graphics architecture
US6724391B1 (en) * 2000-06-30 2004-04-20 Intel Corporation Mechanism for implementing Z-compression transparently
US6580427B1 (en) 2000-06-30 2003-06-17 Intel Corporation Z-compression mechanism
US6900800B2 (en) * 2001-02-27 2005-05-31 David Robert Baldwin Tile relative origin for plane equations
US6914610B2 (en) * 2001-05-18 2005-07-05 Sun Microsystems, Inc. Graphics primitive size estimation and subdivision for use with a texture accumulation buffer
US6999076B2 (en) * 2001-10-29 2006-02-14 Ati Technologies, Inc. System, method, and apparatus for early culling

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9196014B2 (en) 2012-10-22 2015-11-24 Industrial Technology Research Institute Buffer clearing apparatus and method for computer graphics

Also Published As

Publication number Publication date
CN100378762C (zh) 2008-04-02
US20050057564A1 (en) 2005-03-17
CN1560797A (zh) 2005-01-05
TW200426709A (en) 2004-12-01
US7218317B2 (en) 2007-05-15

Similar Documents

Publication Publication Date Title
TWI297469B (en) Mechanism for reducing z buffer traffic in three dimensional graphics processing
US11657565B2 (en) Hidden culling in tile-based computer generated images
US10055877B2 (en) Allocation of tiles to processing engines in a graphics processing system
JP4769984B2 (ja) タイルベース・グラフィック・レンダリング
US8659589B2 (en) Leveraging graphics processors to optimize rendering 2-D objects
KR101034925B1 (ko) 텍스쳐 정보를 엔코딩하는 방법 및 장치
JP5579193B2 (ja) タイルベースの3dコンピュータグラフィックシステムのマルチレベルディスプレイコントロールリスト
TWI282518B (en) Graphic processing apparatus, graphic processing system, graphic processing method and graphic processing program
US10339703B2 (en) Device and method to compute shadow in a 3D scene
US7652677B2 (en) Graphics system employing pixel mask
US9013479B2 (en) Apparatus and method for tile-based rendering
TWI528328B (zh) 依據貼圖影像內容決定選擇細節層次之三維貼圖處理方法、裝置以及儲存其之電腦可讀取記錄媒體
TWI434226B (zh) 影像處理技術
KR101609266B1 (ko) 타일 기반의 랜더링 장치 및 방법
US8345064B2 (en) Method and system for tile binning using half-plane edge function
KR20180055446A (ko) 타일 기반 렌더링 방법 및 장치
JP4777893B2 (ja) 描画装置
KR20180023856A (ko) 그래픽 처리 시스템 및 그래픽 프로세서
KR20170025099A (ko) 렌더링 방법 및 장치
US7362335B2 (en) System and method for image-based rendering with object proxies
KR20090059800A (ko) 폴리곤의 특징에 적응된 순서로 래스터화하는 래스터화엔진 및 3차원 그래픽스 시스템
Inatsuka et al. Level of detail control for texture on 3D maps
US9064347B2 (en) Method, medium, and system rendering 3 dimensional graphics data considering fog effect