欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

使用多遍形成方式的圖形基元成形裝置及方法

文檔序號(hào):6424991閱讀:93來源:國知局
專利名稱:使用多遍形成方式的圖形基元成形裝置及方法
技術(shù)領(lǐng)域
本發(fā)明涉及一種圖像系統(tǒng),特別是涉及一種使用多遍形成方式(multi-pass rendering approach)的圖形基元(graphics primitives)成形裝置及方法。
背景技術(shù)
眾所周知,三維(3D)電腦圖形涉及用于在顯示裝置或顯示器上顯示或表現(xiàn)之3D物體之二維(2D)影像的產(chǎn)生(generation)及成形(rendering),如陰極射線管(CRT)或液晶顯示器(LCD)。該物體可能是一個(gè)簡單的幾何元素,如一個(gè)點(diǎn)、一條線段、一個(gè)三角形或一個(gè)多邊形。更復(fù)雜的物體可以通過用一系列相連的平面多邊形來表現(xiàn),例如,將物體用一系列相連的三角形進(jìn)行表現(xiàn)。所有幾何元素歸根結(jié)底都可以用一個(gè)或多個(gè)定點(diǎn)來描述,例如,定義一個(gè)點(diǎn)如一條線段的端點(diǎn)或一個(gè)多邊形的角的座標(biāo)系(X,Y,Z)。
為了產(chǎn)生用于將一個(gè)3D元素用一個(gè)有代表性的2D映射顯示于一個(gè)電腦顯示器或其他顯示裝置之上的一個(gè)資料組,該3D元素的各頂點(diǎn)均被通過一個(gè)繪圖管線(graphics-rendering pipeline)中的一系列操作或處理階段(processing stages)而進(jìn)行處理。一個(gè)普通管線僅是一系列層疊處理單元或階段,其中前一階段的輸出作為后一階段的輸入。在一個(gè)圖形處理器中,這些階段包括了如個(gè)別頂點(diǎn)操作(per-vertex operations)、元素組裝操作(primitive assembly operations)、像素操作(pixel operations)、紋理組裝操作(texture assembly operations)、光柵化操作(rasterizationoperations)及碎片操作(fragment operations)。
在一個(gè)典型的圖形顯示系統(tǒng)中,一個(gè)影像資料庫(例如命令列表)可能存儲(chǔ)圖形中物體的描述。該物體被用許多小多邊形來表示,這些小多邊形如同大量區(qū)塊可以覆蓋一面墻和其他表面一樣覆蓋該物體的表面。每一個(gè)多邊形可以描述為一系列頂點(diǎn)座標(biāo)(座標(biāo)模型中的X,Y,Z)和關(guān)于材料表面特性的描述(如,顏色、紋理、光澤度等),可能還包括各個(gè)頂點(diǎn)到該表面的向量(箭頭)。對(duì)于具有復(fù)雜的曲面三維物體,這些多邊形一般必須為三角形或平行四邊形,而后者又可以分解為一對(duì)三角形。
轉(zhuǎn)換引擎依照使用者所輸入的使用者所選視角而轉(zhuǎn)換該物體座標(biāo)。另外,使用者可以規(guī)定視域,所產(chǎn)生影像的大小,以及視域的深度(底線),并以此來根據(jù)要求而包含或消除背景。
一旦此視域被選定,剪切邏輯(clipping logic)消除這些位于視域外的多邊形(如三角形),并剪切那些部分位于視域之外的多邊形。這些被剪切的多邊形位于視域內(nèi)的部分將會(huì)相應(yīng)地被補(bǔ)充一個(gè)與視域邊界吻合的邊線。然后這些多邊形的頂點(diǎn)將被以座標(biāo)形式傳送到下一個(gè)階段,這些座標(biāo)與所視螢?zāi)?X,Y座標(biāo)軸)相應(yīng),且每個(gè)頂點(diǎn)具有一個(gè)深度(Z座標(biāo))。在一個(gè)典型系統(tǒng)中,光亮模型在使用時(shí)考慮到其光源。多邊形以及其顏色值則被傳送到一個(gè)光柵(rasterizer)。
對(duì)每個(gè)多邊形,光柵決定該多邊形覆蓋哪些像素位置(pixelpositions),并試圖將相應(yīng)的顏色值及深度(Z值)寫入像框緩沖區(qū)(framebuffer)。該光柵將正被處理的多邊形的深度值(Z)與一個(gè)像素的深度值相比較,該像素可能已經(jīng)被寫入像框緩沖區(qū)。如果該新多邊形的像素深度值較小,表示其在已寫入像框緩沖區(qū)的多邊形的前側(cè),其值將代替像框緩沖區(qū)內(nèi)已有的值,新多邊形覆蓋以前處理并寫入像框緩沖區(qū)內(nèi)的多邊形。此過程重復(fù)進(jìn)行,直至所有的多邊形都被光柵處理過。此時(shí),一個(gè)視頻控制器(video controller)將按光柵處理順序一次一條掃描線地將一個(gè)像框緩沖區(qū)的內(nèi)容顯示于一個(gè)顯示器上。
在提供了以上普通背景知識(shí)后,請(qǐng)參閱圖1,該圖為電腦圖形系統(tǒng)中一個(gè)繪圖管線的某些元件的功能流程圖。應(yīng)當(dāng)清楚不同系統(tǒng)的繪圖管線內(nèi)元件是不同的,并且可以用多種不同方式表示。圖1內(nèi)的元件均用一種特定方式描述,以與其后的圖例共同清楚顯示本發(fā)明的特定特性。
眾所周知,主電腦10(或者在主電腦上運(yùn)行的圖形應(yīng)用程式介面)可以產(chǎn)生命令列表12,該命令列表包括一系列用于在圖形顯示器上表現(xiàn)“環(huán)境”的圖形命令及資料。該繪圖管線內(nèi)的元件可以對(duì)該命令列表12內(nèi)的資料及命令進(jìn)行操作以在一個(gè)圖形顯示器上表現(xiàn)一個(gè)螢?zāi)弧?br> 此處,一個(gè)解析器(Parser)14可以從命令列表12提取資料,篩選這些資料以解釋命令,并將定義圖形基元的資料沿繪圖管線(或向繪圖管線內(nèi))傳送。此處,可由位置資料(如X,Y,Z和W座標(biāo))定義圖形基元之亮度、及紋理資料。對(duì)每個(gè)圖元而言,所有這些資訊均可經(jīng)由解析器14從命令列表12取得,并被傳送到一個(gè)頂點(diǎn)著色引擎(Vertex Shader)16。眾所周知,該頂點(diǎn)著色引擎16可以對(duì)由命令表12得來的圖形資料做多種變換。此處,資料可能由世界座標(biāo)(World coordinates)轉(zhuǎn)換成模型視圖座標(biāo)(Model Viewcoordinates)、投影座標(biāo)(Projection coordinates),并最終轉(zhuǎn)換成螢?zāi)蛔鶚?biāo)(Screen coordinates)。該頂點(diǎn)著色引擎16所進(jìn)行的功能處理已為人們所熟悉,此處不再進(jìn)一步解釋。在頂點(diǎn)著色引擎之后,這些圖形資料可以被傳送到光柵18,該操作如以上所述。
然后,在被操作的圖元內(nèi)的每個(gè)像素上進(jìn)行Z-測試20。眾所周知,這個(gè)Z-測試是藉由將當(dāng)前Z-值(即當(dāng)前圖元之給定像素的Z-值)與對(duì)應(yīng)像素位置的一個(gè)存儲(chǔ)的Z-值相比較而完成。該存儲(chǔ)的Z-值提供前一圖元的深度值用于一給定像素位置。如果當(dāng)前Z-值所表示之深度比存儲(chǔ)的Z-值更接近觀察者眼睛,則當(dāng)前Z-值將替換存儲(chǔ)的Z-值,并且當(dāng)前圖像資訊(如顏色)將替換對(duì)應(yīng)像框緩沖區(qū)中像素位置(由像素著色引擎22決定)的顏色資訊。如果對(duì)當(dāng)前視點(diǎn)而言,當(dāng)前Z-值并不比存儲(chǔ)的Z-值距離更近,則像框緩沖區(qū)及Z-緩沖區(qū)均不需被替換,因?yàn)榍耙粋€(gè)形成的圖元將顯示在當(dāng)前圖元的前側(cè)。
又,對(duì)于已形成并被確定的圖元內(nèi)像素比之前存儲(chǔ)像素更接近視點(diǎn),該圖元相關(guān)資訊被傳送到像素著色引擎22處,該像素著色引擎22決定此被確定較接近當(dāng)前視點(diǎn)之圖元內(nèi)每個(gè)像素的顏色資訊。一旦像素著色引擎22計(jì)算出其顏色資訊,此資訊將被存儲(chǔ)于像框緩沖區(qū)24內(nèi)。
盡管上文僅對(duì)各種不同處理元件的操作進(jìn)行了簡單介紹,本領(lǐng)域的技術(shù)人員可以認(rèn)識(shí)到圖形資料上的操作是很密集的。此處,大量的資料被由命令列表12取得并處理。在大量的過量提取的情況下,很大一部分處理是根本不必要的。此處,一個(gè)過量提取是一個(gè)像素被形成并存儲(chǔ)于像框緩沖區(qū)內(nèi),但其將被下一個(gè)處理的另外一個(gè)圖元的一個(gè)像素所覆蓋的情況。盡管編程者可以選擇例如在構(gòu)成一個(gè)圖形時(shí)將圖形元素按照從前面到后面的順序排列的方法,以最小化或消除過量提取的情況,一般編程者并不會(huì)這樣做,因此命令列表12內(nèi)的圖形資訊是無序的。相應(yīng)地,急需提供一種改進(jìn)的結(jié)構(gòu)和/或方法來提高一個(gè)繪圖管線內(nèi)圖形處理的效率。
由此可見,上述現(xiàn)有的使用多遍形成方式的圖形基元成形裝置及方法在結(jié)構(gòu)、方法與使用上,顯然仍存在有不便與缺陷,而亟待加以進(jìn)一步改進(jìn)。為了解決使用多遍形成方式的圖形基元成形裝置及方法存在的問題,相關(guān)廠商莫不費(fèi)盡心思來謀求解決之道,但長久以來一直未見適用的設(shè)計(jì)被發(fā)展完成,而一般產(chǎn)品又沒有適切的結(jié)構(gòu)能夠解決上述問題,此顯然是相關(guān)業(yè)者急欲解決的問題。
有鑒于上述現(xiàn)有的使用多遍形成方式的圖形基元成形裝置及方法存在的缺陷,本發(fā)明人基于從事此類產(chǎn)品設(shè)計(jì)制造多年豐富的實(shí)務(wù)經(jīng)驗(yàn)及專業(yè)知識(shí),并配合學(xué)理的運(yùn)用,積極加以研究創(chuàng)新,以期創(chuàng)設(shè)一種新型結(jié)構(gòu)的使用多遍形成方式的圖形基元成形裝置及方法,能夠改進(jìn)一般現(xiàn)有的使用多遍形成方式的圖形基元成形裝置及方法,使其更具有實(shí)用性。經(jīng)過不斷的研究、設(shè)計(jì),并經(jīng)反復(fù)試作樣品及改進(jìn)后,終于創(chuàng)設(shè)出確具實(shí)用價(jià)值的本發(fā)明。

發(fā)明內(nèi)容
本發(fā)明的目的就是在提供一種多遍形成多圖元的方法,于第一遍中僅傳送并處理有限組的圖形資料并建立壓縮的Z緩沖區(qū),然后依照第一遍中所設(shè)置的可視性指示分別決定是否將對(duì)應(yīng)的圖元的完整圖形資料于第二遍中傳送至繪圖管線,以減少傳送至繪圖管線的資料量、降低對(duì)資料傳送頻寬的需求并且提高繪圖管線內(nèi)圖形處理的效率。
本發(fā)明的再一目的是提供一種形成多個(gè)圖元的方法,先于繪圖管線內(nèi)僅處理有限組的圖形資料以及確定其是否具有可見像素,然后只針對(duì)那些具有可見像素的圖元處理其完整圖形資料,以避免處理不可見圖元的多余運(yùn)算,提高繪圖管線內(nèi)圖形處理的效率。
本發(fā)明的又一目的是提供一種形成多個(gè)圖元的方法,對(duì)于每一個(gè)圖元,于第一遍中僅處理有限組的圖形資料;然后建立壓縮的Z緩沖區(qū),接著于第二遍中對(duì)圖形資料進(jìn)行兩級(jí)Z測試以決定是否將對(duì)應(yīng)的圖形資料進(jìn)一步處理,亦即免去了需要對(duì)Z-緩沖區(qū)像素一個(gè)接一個(gè)地比較的麻煩,從而相對(duì)增加了Z-測試的頻寬并且提高繪圖管線內(nèi)圖形處理的效率。
本發(fā)明的另一目的是提供一種圖形處理器,在第一遍邏輯控制下于第一遍中僅傳送有限組的圖形資料至繪圖管線中,以及經(jīng)由第一邏輯與第二邏輯分別建立壓縮的Z緩沖區(qū)與決定是否具有可見像素,以便在第二遍邏輯控制下將具有可見像素的圖元的完整圖形資料于第二遍中傳送至繪圖管線,以減少傳送至繪圖管線的資料量、節(jié)省對(duì)資料傳送頻寬的需求并且提高繪圖管線內(nèi)圖形處理的效率。
本發(fā)明的另一目的是提供一種圖形處理器,利用繪圖管線中第一邏輯于第一遍中對(duì)每一圖元僅處理有限組的圖形資料,以及利用繪圖管線中第二邏輯于第二遍中形成具有可見像素的每一圖元,以減少不必要的運(yùn)算并且提高繪圖管線內(nèi)圖形處理的效率。
本發(fā)明的特定目的,優(yōu)點(diǎn)及新穎性將在以下敘述中進(jìn)行部分介紹,本領(lǐng)域技術(shù)人員可通過對(duì)下文的研究或?qū)Ρ景l(fā)明的實(shí)際應(yīng)用而對(duì)其部分了解。本發(fā)明的目的及優(yōu)點(diǎn)可以通過一些方法和組合,特別是權(quán)利要求書中所述的方法和組合來實(shí)現(xiàn)并獲得。
為了獲得特定的優(yōu)點(diǎn)及新穎性,本發(fā)明主要針對(duì)一種多遍圖像形成系統(tǒng)及方法。在其一種實(shí)施例中,在通過一個(gè)繪圖管線的第一遍(first pass)圖形基元資料,產(chǎn)生一壓縮的Z-緩沖區(qū)提供給該圖元。另外還產(chǎn)生一個(gè)圖元遮罩(primitive mask),該遮罩指示該圖元的所有像素是否為隱藏的。在第二遍(second pass)中,僅有當(dāng)該圖元遮罩指示圖元的一部分為可見時(shí),其資料才可以通過該繪圖管線。如此就在該圖元上進(jìn)行了一個(gè)二級(jí)Z-測試。在這個(gè)二級(jí)Z-測試中,利用在第一遍中所產(chǎn)生的壓縮Z-緩沖區(qū),得以實(shí)現(xiàn)每一次對(duì)各像素群的第一級(jí)比較。
借由上述技術(shù)方案,本發(fā)明使用多遍形成方式的圖形基元成形裝置及方法至少具有下列優(yōu)點(diǎn)因于第一遍中僅傳送并處理有限組的圖形資料并建立壓縮的Z緩沖區(qū),然后依照第一遍中所設(shè)置之可視性指示分別決定是否將對(duì)應(yīng)的圖元的完整圖形資料于第二遍中傳送至繪圖管線,故可以減少傳送至繪圖管線的資料量、降低對(duì)資料傳送頻寬的需求并且提高繪圖管線內(nèi)圖形處理的效率。
因先于繪圖管線內(nèi)僅處理有限組的圖形資料以及確定其是否具有可見像素,然后只針對(duì)那些具有可見像素的圖元處理其完整圖形資料,故可以避免處理不可見圖元的多余運(yùn)算,提高繪圖管線內(nèi)圖形處理的效率。
因?qū)τ诿恳粋€(gè)圖元,于第一遍中僅處理有限組的圖形資料;然后建立壓縮的Z緩沖區(qū),接著于第二遍中對(duì)圖形資料進(jìn)行兩級(jí)Z測試以決定是否將對(duì)應(yīng)的圖形資料進(jìn)一步處理,故可以免去了需要對(duì)Z-緩沖區(qū)像素一個(gè)接一個(gè)地比較的麻煩,從而相對(duì)增加了Z-測試的頻寬并且提高繪圖管線內(nèi)圖形處理的效率。
因在第一遍邏輯控制下于第一遍中僅傳送有限組的圖形資料至繪圖管線中,以及經(jīng)由第一邏輯與第二邏輯分別建立壓縮的Z緩沖區(qū)與決定是否具有可見像素,以便在第二遍邏輯控制下將具有可見像素的圖元的完整圖形資料于第二遍中傳送至繪圖管線,故可以減少傳送至繪圖管線的資料量、節(jié)省對(duì)資料傳送頻寬的需求并且提高繪圖管線內(nèi)圖形處理的效率。
因利用繪圖管線中第一邏輯于第一遍中對(duì)每一圖元僅處理有限組的圖形資料,以及利用繪圖管線中第二邏輯于第二遍中形成具有可見像素的每一圖元,故可以減少不必要的運(yùn)算并且提高繪圖管線內(nèi)圖形處理的效率。
綜上所述,本發(fā)明特殊結(jié)構(gòu)的使用多遍形成方式的圖形基元成形裝置及方法,其具有上述諸多的優(yōu)點(diǎn)及實(shí)用價(jià)值,并在同類產(chǎn)品及方法中未見有類似的結(jié)構(gòu)設(shè)計(jì)及方法公開發(fā)表或使用而確屬創(chuàng)新,其不論在產(chǎn)品結(jié)構(gòu)、方法或功能上皆有較大的改進(jìn),在技術(shù)上有較大的進(jìn)步,并產(chǎn)生了好用及實(shí)用的效果,且較現(xiàn)有的使用多遍形成方式的圖形基元成形裝置及方法具有增進(jìn)的多項(xiàng)功效,從而更加適于實(shí)用,而具有產(chǎn)業(yè)的廣泛利用價(jià)值,誠為一新穎、進(jìn)步、實(shí)用的新設(shè)計(jì)。
上述說明僅是本發(fā)明技術(shù)方案的概述,為了能夠更清楚了解本發(fā)明的技術(shù)手段,而可依照說明書的內(nèi)容予以實(shí)施,并為了讓本發(fā)明的上述和其他目的、特征和優(yōu)點(diǎn)能更明顯易懂,以下特舉較佳實(shí)施例,并配合附圖,詳細(xì)說明如下。


圖1是一個(gè)傳統(tǒng)的圖形系統(tǒng)管線的功能流程圖。
圖2A及2B是與圖1相似的流程圖,它們分別顯示了一個(gè)二遍圖像形成過程的第一遍及第二遍內(nèi)管線的圖形功能及運(yùn)作元件。
圖3是顯示Z-緩沖區(qū)的壓縮結(jié)構(gòu)示意圖。
圖4是顯示二遍圖像形成系統(tǒng)簡要操作的流程圖。
圖5是顯示二遍圖像形成系統(tǒng)特定元件的結(jié)構(gòu)示意圖。
圖式標(biāo)示說明10主電腦12、112命令列表14、114解析器(Parser)16、116頂點(diǎn)著色引擎(Vertex Shader)18、118光柵20Z-測試22、140像素著色引擎24、144、302像框緩沖區(qū)115、117、120、122、130、132、134、136、402、404、406、410、412、414、416、420邏輯202 224依照本發(fā)明實(shí)施利所述二遍圖像形成系統(tǒng)簡要操作的各步驟304Z-緩沖區(qū)306壓縮Z-緩沖區(qū)400圖形系統(tǒng)具體實(shí)施方式
為更進(jìn)一步闡述本發(fā)明為達(dá)成預(yù)定發(fā)明目的所采取的技術(shù)手段及功效,以下結(jié)合附圖及較佳實(shí)施例,對(duì)依據(jù)本發(fā)明提出的使用多遍形成方式的圖形基元成形裝置及方法其具體實(shí)施方式
、結(jié)構(gòu)、方法、特征及其功效,詳細(xì)說明如后。
在總結(jié)了本發(fā)明的各個(gè)方面之后,以下將如圖例所示對(duì)本發(fā)明進(jìn)行詳細(xì)介紹。盡管本發(fā)明的介紹將參照?qǐng)D例進(jìn)行,并非將本發(fā)明限制于其中所述實(shí)施例。相反地,如同所附權(quán)利要求書說述,所有變化,修改及同等設(shè)計(jì)均屬于本發(fā)明所保護(hù)范圍。
此處所包含的圖例均為說明本發(fā)明實(shí)施例的特定特性而提供。通過所提供的介紹將可以看出,與本發(fā)明的精神及覆蓋范圍一致的大量同功能的實(shí)施例也可以得到實(shí)現(xiàn)。
如以上所總結(jié),本發(fā)明的實(shí)施例提供了用來提高一個(gè)繪圖管線內(nèi)的圖形處理效率的圖形系統(tǒng)及方法。廣泛地說,某些實(shí)施例的功能提供了一個(gè)二遍圖像形成系統(tǒng)(two-pass rendering system),而僅將有限的圖形資訊在第一遍中被傳送通過管線。在一遍處理過程中,形成了一個(gè)壓縮的Z-緩沖區(qū),并為每個(gè)圖元計(jì)算出圖元遮罩。在一個(gè)實(shí)施例中,被傳送到繪圖管線中精簡的圖形資料僅包括位置資訊,而亮度,紋理,煙霧(fog)及其它資訊沒有被從命令列表傳送到繪圖管線內(nèi)。這顯著提高了第一遍的繪圖管線內(nèi)所處理資訊的頻寬。如同下面更詳細(xì)的介紹,該壓縮Z-緩沖區(qū)有效地為多個(gè)像素提供了壓縮的深度資訊,以使得若當(dāng)前巨集像素(macro-pixel)的所有像素被認(rèn)為在先前存儲(chǔ)的像素前側(cè)時(shí)瑣細(xì)地接受(在第二遍期間)該像素群(或巨集像素),或是在當(dāng)前巨集像素被認(rèn)為在先前存儲(chǔ)的像素后側(cè)時(shí)瑣細(xì)地拒絕其所有像素。
圖元遮罩也產(chǎn)生于第一遍中。此圖元遮罩可能包含于資訊之單一位元或位元組內(nèi),它指示了該圖元是否有一部分為可見的。在一個(gè)實(shí)施例中,如果一個(gè)圖元被確定為一個(gè)0像素圖元(即在形成時(shí)僅占用少于一個(gè)可顯示像素的圖元),此圖元遮罩指示其為隱藏的。如果一個(gè)圖元將被完全選除或剪切掉,該圖元遮罩也將指示其為隱藏的。類似地,如果一個(gè)圖元被確定為一個(gè)朝后的圖元,它也會(huì)被認(rèn)為是隱藏的。與本發(fā)明概念一致,其他情況也可能類似地被認(rèn)為是隱藏的圖元,并可能被納入處理過程用于產(chǎn)生圖元遮罩。
參照?qǐng)D2A及2B,這兩個(gè)圖例顯示了參照本發(fā)明一個(gè)實(shí)施例而設(shè)計(jì)的一個(gè)圖形系統(tǒng)的特定元件。圖2A及2B所顯示部件可能與圖1所示元件相似。進(jìn)一步,圖2A提供了可在本發(fā)明一個(gè)實(shí)施例的多遍圖形形成操作中的第一遍特定特性及元件的顯示;而圖2B則顯示了該實(shí)施例的多遍圖形形成操作中的第二遍特定特性及元件。
考慮到新的圖形系統(tǒng)及方法,因?yàn)樵S多功能元件的運(yùn)作與現(xiàn)有技術(shù)區(qū)別不大,此處不再做詳細(xì)介紹。例如,頂點(diǎn)著色引擎116、光柵118、像素著色引擎140、像框緩沖區(qū)144等的運(yùn)作均已為人所知且未被本發(fā)明所改變,因此不需進(jìn)行介紹。相似地,解析器114大致與圖1的解析器14操作一致。然而,解析器114包括了邏輯115,用來確保在圖形形成過程之第一遍中僅有有限的一組圖形資料被傳入繪圖管線中。在一個(gè)實(shí)施例中,該有限的一組圖形資料被限制于位置資訊,如X,Y,Z及W座標(biāo)。其他圖形資訊,如亮度資訊、紋理資訊、煙霧資訊等則沒有在該圖形形成過程之第一遍中被傳送到繪圖管線內(nèi)。藉由限制傳送到繪圖管線中的信息量,本發(fā)明的實(shí)施例實(shí)現(xiàn)了顯著的頻寬節(jié)約。
對(duì)應(yīng)圖2A的介紹,第一遍中的頂點(diǎn)著色引擎116僅處理位置資訊來進(jìn)行各種不同的轉(zhuǎn)化。然后光柵118將當(dāng)前圖元光柵化。之后,邏輯120進(jìn)行操作產(chǎn)生一個(gè)壓縮Z-緩沖區(qū),此處請(qǐng)參照?qǐng)D3。眾所周知,一個(gè)像框緩沖區(qū)302是一個(gè)存儲(chǔ)單元,用來存儲(chǔ)顯示器上每個(gè)圖元的顏色資訊。類似地,一個(gè)Z-緩沖區(qū)304是一個(gè)存儲(chǔ)單元,用來存儲(chǔ)顯示器上每個(gè)像素的深度資訊。一個(gè)實(shí)施例的壓縮Z-緩沖區(qū)306壓縮64個(gè)像素(一個(gè)8*8的像素群,或者一個(gè)巨集像素)的Z資訊至一個(gè)單一記錄中。
該壓縮Z-緩沖區(qū)記錄可以采取多種結(jié)構(gòu)和實(shí)施方式。在一個(gè)實(shí)施例中,該壓縮的Z-資訊的記錄包括了一個(gè)最小Z值,一個(gè)最大Z值及一個(gè)64位元遮罩。該64位元遮罩對(duì)Z-緩沖區(qū)內(nèi)每一個(gè)像素分配一個(gè)位元。該位元的值表示該像素在該光柵化的圖元之內(nèi)或之外。
在另外一個(gè)實(shí)施例中,該壓縮的Z-資訊的記錄可能包括兩個(gè)Z值范圍。即,它可能包括兩組最大及最小Z值。請(qǐng)考慮下面例子,以描述用于存儲(chǔ)兩個(gè)Z范圍和一個(gè)區(qū)域遮罩而非僅一個(gè)Z范圍的方式。假設(shè)一個(gè)Z范圍(初始化為一個(gè)最大背景值)和以互相網(wǎng)狀交織的三角形表示的兩個(gè)光滑表面,如果第一個(gè)三角形完全覆蓋該8*8區(qū)塊,且其當(dāng)前范圍在存儲(chǔ)的范圍前側(cè)(因此被接受),那么該新Z范圍被存儲(chǔ)起來;然而,如果第一個(gè)三角形僅部分覆蓋該8*8區(qū)塊,那么該新壓縮的Z記錄應(yīng)該包含當(dāng)前及存儲(chǔ)的范圍的合并結(jié)果。然后,下一個(gè)相臨三角形的范圍與存儲(chǔ)的范圍交錯(cuò)(因此需重新測試)。對(duì)在第一表面后面的第二表面的形成又造成一個(gè)重新測試。因?yàn)樵搲嚎sZ緩沖區(qū)的主要目的是避免一個(gè)無用的重測試,因而得到一個(gè)較佳解決方案。
表現(xiàn)為一些三角形網(wǎng)狀交織的一個(gè)光滑表面構(gòu)成一個(gè)層。理想情況下,不同層的三角形應(yīng)該屬于不同的Z范圍。通過將一個(gè)范圍定為“前層”(Z1范圍),而將另一個(gè)定為“后層”(Z2范圍),可在不顯著增加壓縮的Z-緩沖區(qū)大小(一個(gè)標(biāo)準(zhǔn)的8*8區(qū)塊的Z-緩沖區(qū)可被認(rèn)為一個(gè)有64個(gè)小范圍的緩沖區(qū)區(qū)域)的情況下明顯降低重新測試的機(jī)率。再次參照前一實(shí)例,假設(shè)兩個(gè)Z范圍均被初始化為背景,而區(qū)域遮罩被設(shè)為0(僅有Z2范圍為有效的),第一個(gè)部分覆蓋該8*8區(qū)塊的三角形將如同平常被接受而產(chǎn)生一個(gè)新前層,下一個(gè)相臨三角形提供所要的接受信號(hào)并與該前層合并,然后第一表面后的第二表面的形成過程將再一次提供所要的拒絕信號(hào)。
在此實(shí)施例中,因?yàn)槊?*8的區(qū)塊均存儲(chǔ)兩個(gè)Z范圍,任何不被完全拒絕的新三角形將導(dǎo)致當(dāng)前范圍及制圖遮罩與存儲(chǔ)的范圍及區(qū)域遮罩的合并。即便是一個(gè)簡單的覆蓋(如用一個(gè)被接受的當(dāng)前范圍及完全覆蓋的制圖遮罩來替代壓縮的Z記錄)都會(huì)被當(dāng)作一個(gè)合并操作。值得注意的是Z范圍越小,重測試的機(jī)率就越小,所以在可能的情況下,都會(huì)用ZL1合并單元結(jié)合深度(范圍)及寬度(區(qū)域)的關(guān)系來計(jì)算小的范圍。
盡管以上已經(jīng)介紹了定義壓縮的Z-緩沖區(qū)的特定記錄,應(yīng)當(dāng)注意到在保持與本發(fā)明的精神及涵蓋范圍一致的情況下,仍可實(shí)現(xiàn)多種記錄格式。
繼續(xù)圖2A的介紹,邏輯120為當(dāng)前正在被處理的圖元產(chǎn)生一個(gè)壓縮的Z-緩沖區(qū)。之后,邏輯130為此當(dāng)前圖元產(chǎn)生一個(gè)圖元遮罩(或?yàn)槿切螆D元產(chǎn)生一個(gè)三角形遮罩)。該圖元遮罩可能是一個(gè)表示整個(gè)圖元是否為視覺上隱藏的單值。如同以下將要進(jìn)一步介紹的,此資訊在第二遍的前階段被用來保持或避免對(duì)被認(rèn)為視覺上隱藏的圖元形成圖像資訊。在一個(gè)實(shí)施例中,用來產(chǎn)生圖元遮罩的邏輯130可能包括用來確定該圖元是否為0像素圖元(即僅占用少于一個(gè)螢?zāi)豢臻g之像素的圖元)的邏輯132。邏輯130還可能包括被設(shè)置用來確定該圖元是否被篩選掉或剪切過的邏輯134。因?yàn)楹Y選掉或剪切過的圖元在螢?zāi)簧鲜遣豢梢姷?,它們是視覺上隱藏的,并且圖元遮罩將被設(shè)置。因?yàn)槌蟮膱D元在視覺上類似于隱藏的圖元,邏輯130可能還包括一個(gè)被設(shè)置來確定是否當(dāng)前圖元為朝后的圖元的邏輯136。在任何上述的情況下,均可能設(shè)置對(duì)當(dāng)前圖元的圖元(或三角形)遮罩。與本發(fā)明的概念相一致,其他情況也可能導(dǎo)致圖元的設(shè)置。
現(xiàn)參照?qǐng)D2B,該圖為一個(gè)顯示對(duì)于通過繪圖管線的一個(gè)圖元的第二遍內(nèi)的繪圖管線的特定特點(diǎn)及功能的功能流程圖。在第二遍中,解析器114再次從命令列表112取得圖形命令及原始資料。該解析器114包括邏輯117,用來為當(dāng)前圖元衡量該三角形遮罩(在第一遍內(nèi)產(chǎn)生)。如果該圖元遮罩表示該圖元為視覺上隱藏的,因?yàn)椴恍柙诶L圖管線內(nèi)對(duì)該圖元做進(jìn)一步處理,該解析器114可能丟棄該原始資料,并繼續(xù)從命令列表112內(nèi)提取下一個(gè)圖元的資訊。這樣,通過大量減少各個(gè)管線元件對(duì)于最后顯示的可見圖像沒有影響的處理及計(jì)算操作,而大大提高了工作效率。
然而,如果該解析器114根據(jù)該圖元遮罩確定當(dāng)前圖元包含可見圖元,完整的圖像構(gòu)成資訊則將被從該解析器114傳送到頂點(diǎn)著色引擎。該頂點(diǎn)著色引擎116和光柵118將對(duì)此當(dāng)前圖元進(jìn)行傳統(tǒng)的頂點(diǎn)著色及光柵化操作。然后,邏輯122進(jìn)行一個(gè)二級(jí)Z-測試。在此,利用在第一遍操作中構(gòu)成的壓縮的Z-緩沖區(qū)進(jìn)行Z-測試之第一級(jí)。如果在第一級(jí)Z-測試中,一個(gè)巨集像素的所有像素被確定在一個(gè)先前存儲(chǔ)圖元相應(yīng)的的巨集像素之各像素后,則不需對(duì)該給定巨集像素對(duì)應(yīng)的各像素進(jìn)行進(jìn)一步操作(即相應(yīng)像素的資訊不需傳送到像素著色引擎140中)。類似地,如果一個(gè)巨集像素的所有像素被確定在一個(gè)相應(yīng)的巨集像素之先前存儲(chǔ)的像素之前,則相應(yīng)像素的所有圖形資訊可被傳送到像素著色引擎140中。值得注意的是,在以上任何一種情況下均免去了需要對(duì)Z-緩沖區(qū)的一個(gè)像素接一個(gè)像素地比較的麻煩,從而相對(duì)增加了Z-測試的頻寬。
然而,如果該壓縮的Z-緩沖區(qū)的巨集像素既不能被瑣細(xì)地接受(即所有像素在先前存儲(chǔ)的像素之前),也不能被瑣細(xì)地拒絕(即所有像素在先前存儲(chǔ)的像素之后),那么將需進(jìn)行第二級(jí)Z-測試。該第二級(jí)Z-測試是對(duì)Z-緩沖區(qū)304(如圖3所示)內(nèi)每個(gè)像素的一個(gè)傳統(tǒng)的Z-測試。
一旦Z-測試122完成后,圖元資訊將被傳送到像素著色引擎140進(jìn)行傳統(tǒng)的處理。適合的像素資訊將被存儲(chǔ)于該像框緩沖區(qū)144內(nèi)。值得注意的是,上述的多遍圖像形成系統(tǒng)實(shí)現(xiàn)了相對(duì)現(xiàn)有技術(shù)下系統(tǒng)的性能的大幅提高。
現(xiàn)參照?qǐng)D4,該圖為一個(gè)顯示相應(yīng)本發(fā)明的一個(gè)實(shí)施例設(shè)計(jì)的一個(gè)多遍圖像形成系統(tǒng)的流程圖。與該實(shí)施例一致,例如從一個(gè)命令列表提取圖元資訊(202)。然后確定(204)該圖形資訊是在該圖像形成系統(tǒng)的第一遍還是后續(xù)處理。如果確定當(dāng)前操作在第一遍內(nèi)進(jìn)行,則僅有一個(gè)當(dāng)前圖元的位置資訊被傳送到繪圖管線進(jìn)行處理(206)。在此位置資訊的處理過程中,該圖像形成系統(tǒng)的第一遍產(chǎn)生一個(gè)壓縮的Z-緩沖區(qū)(208)。同樣地,該實(shí)施例也產(chǎn)生一個(gè)圖元遮罩(210)。
如果確定(204)當(dāng)前操作不是第一遍圖像形成過程,則需確定(212)當(dāng)前圖元為視覺上可見的還是隱藏的。在一個(gè)較佳實(shí)施例中,此判斷通過衡量先前設(shè)置(210)的圖元遮罩來做出。如果確定當(dāng)前圖元的所有像素均不可見,不需對(duì)此圖形基元做進(jìn)一步的操作,操作轉(zhuǎn)回到步驟202,獲取下一個(gè)圖元資訊。然而,如果步驟212確定當(dāng)前圖元的一個(gè)或多個(gè)像素為可見的,則所有相關(guān)圖元資訊被傳送(214)到管線進(jìn)行進(jìn)一步處理。在其他處理過程中(如頂點(diǎn)著色,光柵化等),使用壓縮的Z-緩沖區(qū)(216)而進(jìn)行Z-測試。此處,于第一遍產(chǎn)生(208)的壓縮Z-資訊被與存儲(chǔ)先前處理的像素群的壓縮Z-資訊相比較。如果當(dāng)前巨集像素所有的圖元均被確認(rèn)為(218)隱藏的,則操作可以返回到202而獲取下一個(gè)圖元的圖元資訊。然而,如果當(dāng)前圖元所有的像素未被確認(rèn)為(218)隱藏的,則操作確定(220)是否當(dāng)前巨集像素所有的像素均可見。如果所有圖元都可見,該巨集像素可被傳送到像素著色引擎。但如果并非所有像素被確認(rèn)(220)為可見的話,則將對(duì)該巨集像素的每個(gè)像素進(jìn)行一個(gè)傳統(tǒng)的Z-測試(222)。之后,像素資訊被傳送到像素著色引擎(224)進(jìn)行傳統(tǒng)的像素著色處理。
現(xiàn)參照?qǐng)D5,此圖顯示相應(yīng)本發(fā)明的一個(gè)實(shí)施例設(shè)計(jì)的一個(gè)圖形系統(tǒng)400的特定元件。在圖5所示實(shí)施例中,圖形系統(tǒng)400包括了解析器邏輯402,被設(shè)置為僅將位置相關(guān)的原始資料傳送到管線其余部分。系統(tǒng)400也同樣包括邏輯404,被設(shè)置為僅將可見圖元傳送到管線進(jìn)行進(jìn)一步操作。如前所述,邏輯402在原始資料處理的第一遍內(nèi)運(yùn)作,而邏輯404在圖像形成的第二遍內(nèi)運(yùn)作。該系統(tǒng)400還包括邏輯406,用來產(chǎn)生一個(gè)壓縮的Z-緩沖區(qū)。此緩沖區(qū)的特性及內(nèi)容已在上文中介紹過。該系統(tǒng)400進(jìn)一步還包括邏輯410,用來對(duì)每個(gè)圖元產(chǎn)生一個(gè)可視性遮罩。在一個(gè)實(shí)施例中,此邏輯410包括了用于確定當(dāng)前圖元是否被剪切的邏輯412,用來確定當(dāng)前圖元是否被篩選掉的邏輯414,及用來確定當(dāng)前圖元是否一個(gè)0像素圖元的邏輯416。在任何一種以上所述的情況下,該圖元對(duì)觀察者來說均為不可見的,邏輯410則相應(yīng)地設(shè)置該可視性遮罩。該系統(tǒng)400進(jìn)一步還包括邏輯420,用來在處理過程的第二遍中進(jìn)行一個(gè)兩級(jí)Z-測試。第一級(jí)Z-測試由邏輯406產(chǎn)生的壓縮的Z-資訊進(jìn)行處理,對(duì)該Z-資訊進(jìn)行一個(gè)接著一個(gè)巨集像素的比較。
以上所述,僅是本發(fā)明的較佳實(shí)施例而已,并非對(duì)本發(fā)明作任何形式上的限制,雖然本發(fā)明已以較佳實(shí)施例揭露如上,然而并非用以限定本發(fā)明,任何熟悉本專業(yè)的技術(shù)人員,在不脫離本發(fā)明技術(shù)方案范圍內(nèi),當(dāng)可利用上述揭示的技術(shù)內(nèi)容作出些許更動(dòng)或修飾為等同變化的等效實(shí)施例,但是凡是未脫離本發(fā)明技術(shù)方案的內(nèi)容,依據(jù)本發(fā)明的技術(shù)實(shí)質(zhì)對(duì)以上實(shí)施例所作的任何簡單修改、等同變化與修飾,均仍屬于本發(fā)明技術(shù)方案的范圍內(nèi)。
權(quán)利要求
1.一種多遍形成多圖元的方法,包括下列步驟在一第一遍(first pass)中對(duì)于每一該些圖元僅傳送有限組之圖形資料通過一繪圖管線;處理該有限組之圖形資料而建立一壓縮的Z-緩沖區(qū),該壓縮的Z-緩沖區(qū)包括多數(shù)個(gè)Z-記錄,每一該些Z-記錄包含多數(shù)個(gè)像素的Z資訊;對(duì)于每一該些圖元,若該圖元之任一該些像素被確定為可見,則設(shè)置一可視性指示;在一第二遍(second pass)中對(duì)于每一該些圖元,確定該相關(guān)的可視性指示是否被設(shè)置;將該相關(guān)的可視性指示未被設(shè)置的該些圖元舍棄,而不將其經(jīng)該繪圖管線傳送;對(duì)于該相關(guān)的可視性指示已被設(shè)置的該些圖元,傳送一組完整的圖形資料;以及對(duì)圖形資料進(jìn)行一兩級(jí)Z-測試,其中一第一級(jí)Z-測試系將一當(dāng)前圖元之圖形資料與該壓縮的Z-緩沖區(qū)內(nèi)的相應(yīng)資訊進(jìn)行比較,以及其中一第二級(jí)Z-測試系以一傳統(tǒng)的Z-測試方式逐一像素進(jìn)行,其中該第二級(jí)Z-測試僅對(duì)該壓縮的Z資訊的記錄內(nèi)之像素進(jìn)行,該記錄內(nèi)該第一級(jí)Z-測試中確定為巨集像素之一部分而非全部像素可見。
2.一種形成多個(gè)圖元的方法,包括下列步驟在一繪圖管線內(nèi),對(duì)每一該些圖元僅處理一有限組的圖形資料;對(duì)每個(gè)圖元,確定其是否具有至少一可見的像素;在該繪圖管線內(nèi),僅對(duì)那些被確定至少包含一可見像素的圖元處理其完整一組圖形資料。
3.如申請(qǐng)專利范圍第2項(xiàng)所述形成多個(gè)圖元的方法,更包括對(duì)每個(gè)被確定至少包含一可見像素的每一該些像素設(shè)置一可視性指示。
4.如申請(qǐng)專利范圍第3項(xiàng)所述形成多個(gè)圖元的方法,其中設(shè)置該可視性指示之步驟更特別包括在一像框緩沖記憶體內(nèi)設(shè)置一位元。
5.如申請(qǐng)專利范圍第2項(xiàng)所述形成多個(gè)圖元的方法,其中僅處理一有限組的圖形資料之步驟更特別包括僅處理位置相關(guān)資料。
6.如申請(qǐng)專利范圍第2項(xiàng)所述形成多個(gè)圖元的方法,其中確定該圖元是否至少包括一可見像素,以保證該圖元不會(huì)在一壓縮的Z-緩沖區(qū)測試中失敗,保證該圖元的所有像素均未被篩選掉,保證該圖元不會(huì)形成0像素,還保證該圖元的所有像素均未被剪切掉。
7.一種形成多個(gè)圖元的方法,包括下列步驟在一繪圖管線內(nèi),在一第一遍中,對(duì)于每一該些圖元,僅處理一有限組的圖形資料;對(duì)該有限組的資料進(jìn)行處理以構(gòu)成一壓縮的Z-緩沖區(qū),該壓縮的Z-緩沖區(qū)包括多數(shù)個(gè)Z-記錄,每一該些Z-紀(jì)錄包含多數(shù)個(gè)像素的Z資訊;以及在一繪圖管線內(nèi),在一第二遍中,對(duì)圖形資料進(jìn)行一兩級(jí)Z-測試,其中一第一級(jí)Z-測試將一當(dāng)前圖元的圖形資料與該壓縮的Z-緩沖區(qū)內(nèi)的相應(yīng)資訊進(jìn)行比較,其中一第二級(jí)Z-測試系以一傳統(tǒng)的Z-測試方式逐一像素進(jìn)行,其中該第二級(jí)Z-測試僅對(duì)該壓縮的Z資訊的記錄內(nèi)的該些像素進(jìn)行,該記錄內(nèi)第一級(jí)Z-測試中確定為一巨集像素之一部分而非全部像素系可見的。
8.一種圖形處理器,包括一第一遍邏輯,被設(shè)置為在一第一遍中,對(duì)每個(gè)圖元僅將其有限組的圖形資料傳送到一繪圖管線;一第一邏輯,被設(shè)置為對(duì)每個(gè)圖元處理其該有限組圖形資料以建立一壓縮的Z-緩沖區(qū);一第二邏輯,被設(shè)置為對(duì)每個(gè)圖元確定其是否具有至少一可見像素;以及一第二遍邏輯,被設(shè)置為,僅對(duì)具有至少一可見像素之該些圖元,在一第二遍中,將其一完整組的圖形資料傳送到該繪圖管線內(nèi),該第二遍邏輯進(jìn)一步被設(shè)置為禁止將被確認(rèn)不具有任何可見像素的圖元之圖形資料傳送到該繪圖管線。
9.一種圖形處理器,包括一第一邏輯,被設(shè)置為在一繪圖管線中的一第一遍內(nèi)對(duì)每一多數(shù)個(gè)圖元限制其圖形資料的處理,其中該被限制的處理確定該圖元是否具有至少一可見像素;以及一第二邏輯,被設(shè)置為在該繪圖管線中的一第二遍內(nèi)形成在該第一遍中被確定具有至少一可見像素的每一該些圖元。
10.如申請(qǐng)專利范圍第9項(xiàng)所述之圖形處理器,其中被設(shè)置用來限制該處理的該第一邏輯保證了該圖元不會(huì)在一壓縮的Z-緩沖區(qū)測試中失敗,保證了該圖元的所有像素未被篩選掉,保證了該圖元不會(huì)形成0像素,還保證了該圖元的所有像素未被剪切掉。
11.如申請(qǐng)專利范圍第9項(xiàng)所述之圖形處理器,更包括一第三邏輯,用以在該第一遍中,從該圖形資料的處理建立一壓縮的Z-緩沖區(qū)。
12.如申請(qǐng)專利范圍第9項(xiàng)所述之圖形處理器,更包括一第四邏輯,用以在該第一遍中被處理之每一該些圖元設(shè)置一可視性指示。
13.如申請(qǐng)專利范圍第9項(xiàng)所述之圖形處理器,更包括一第五邏輯,被設(shè)置用來在該第二遍中將每一該些圖元傳送到被設(shè)置為圖像形成的該第二邏輯之前,對(duì)該圖元衡量該可視性指示。
全文摘要
本發(fā)明是關(guān)于一種使用多遍形成方式的圖形基元成形裝置及方法,在其中一實(shí)施例中,在通過繪圖管線之圖形基元資料的第一遍中,為該圖元產(chǎn)生一個(gè)壓縮的Z-緩沖區(qū)。還產(chǎn)生一個(gè)圖元遮罩,該圖元遮罩指示是否該圖元的所有像素均為視覺上隱藏;在第二遍中,僅當(dāng)圖元的圖元遮罩指示該圖元的某些部分可見時(shí),才將該給定圖元的圖形資料傳送到管線中。因此,在該圖元上進(jìn)行了一個(gè)兩級(jí)Z-測試。在該兩級(jí)Z-測試中,使用在第一遍內(nèi)所產(chǎn)生該壓縮的Z-緩沖區(qū)以一次將幾個(gè)像素群進(jìn)行第一級(jí)比較的使用多遍形成方式的圖形基元成形裝置及方法(APPARATUS AND METHOD FOR RENDERING GRAPHICS PRIMITIVES USING A MULTI-PASS RENDERING APPRO ACH)。
文檔編號(hào)G06T15/00GK1581234SQ200410073708
公開日2005年2月16日 申請(qǐng)日期2004年9月2日 優(yōu)先權(quán)日2003年12月5日
發(fā)明者洪洲, 徐建明 申請(qǐng)人:旭上繪圖股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
定结县| 昌都县| 弋阳县| 增城市| 高青县| 会理县| 湘阴县| 邹城市| 兴城市| 宝丰县| 西安市| 桦南县| 太康县| 聊城市| 九江县| 霞浦县| 法库县| 新平| 荔波县| 曲麻莱县| 赞皇县| 祁东县| 昌吉市| 巴彦县| 赫章县| 遂平县| 上蔡县| 玉林市| 岳普湖县| 桐庐县| 四会市| 福州市| 兰溪市| 屏东县| 安顺市| 宝山区| 苍梧县| 溧水县| 招远市| 安义县| 铅山县|