200529097 九、發明說明: 【發明所屬之技術領域】 - 相關申請之交互參考 • 本申請宣告建檔於2004年8月Π日之待決美國專利申 5請序號10/921075的優先權,該案宣告建播於綱…心 曰’“題為具多階層Z緩衝器之影像呈現技術,,之美國專利 申請序號_38"7的優先權,以上兩專職皆配合作為此 處爹考。 # 本發明領域 10 15 20 本發明-般係關於影像呈現技術並且尤其是關於有效 地使用緩:口口而呈現來自乡數個物件之幾何模型的影像。 L先前老】 電腦產生影像通常藉由審視觀看空間之幾何模型以及 觀看空間中被模型化之物件而被產生。物件之幾何模型可 具有任意的解析度’ μ各物件—般湘—有限數的多邊 ⑽β ―㈣)以及代表多邊形透明度之遮色值被表示, 而該多邊岐被置放在觀看空間中且在它們表面上具有色 彩、色彩樣型或紋理。一旦 ^ 〜像—般以圖素陣列被輸出(被儲 存、被_、被傳輸’或㈣的方法被處理)。 電月^產生影像可利維陣列 值組被表示,其中變數 1义歎 值、、且中之各項目對應至一彩色頻 迢。例如,一個二維彩 心像可能利用一個二維圖素陣列 被表不,,、中各圖素依據 而m ^ 康由、、工色-綠色-藍色(RGB)三色結構 而被扣疋一圖素色彩, 1且其中此三色結構的各成分利用 5 200529097 -限定數值被表示。其他色彩⑼可被使用,彳日是影像一 般可利用具有選自色教間之1素色彩的各圖素被表 示。有時,這些成分被稱為頻道,例如,紅色頻道、綠色 頻道、藍色頻道以及遮色頻道。該遮色頻道可能不被使用, 例如’其中紅色、綠色和藍㈣道完全料定將被使用之 色彩並且影料是覆蓋在將透過展示的其他影像成分上。 從幾何模型產生色彩數值之圖素陣列的程序通常被稱 為”呈現”-影像。於被呈現之影像中,所給料圖素之色 10 15 彩數值,理想地,u線之色彩,該光線將經由相對一觀 看點被放置在赠平面巾_栅之—制料而被接收。 第!圖展不-種幾何模型。於那範例中,二個三角形,A和 B,具有錄輕_之位置。—影像從麵 14(具有對應至最後影像m 、、二由、,,罔柵 被呈現。於_中::::::::^ ^ 、由4圖素之對應的網栅開 孔之靠〇、。為進行這步驟,應該了解1個物件之哪 個部分將出現在網栅開孔内和該物件之 深度(自觀看點12之距離,立是重 :、透明度以及 較接近的物件而完全地被混淆,該較遠二=:!= 影響圖素之色彩)。 件之色形則不 一種圖素呈财法是綠贿, 電腦系統錢理料 ,、如錢之一 應至被呈現之圖辛的=看平面中經由網栅開孔對 _相交。==:並—_ 至先線相父一不透明的多邊形之 20 200529097 前,電腦計算被相交之多邊形對於經由網柵開孔在觀看點 被接收之光色彩的影響。 光線描繪產生實際的影像,但是需要相當多的處理。 例如,當電腦掃描多邊形列表時,它必須尋得各多邊形位 5 置以判定它是否與目前光線相交。雖然光線描繪是有用 的,但於許多應用中,例如,那些需要即時呈現者,它是 不實際的。 即時呈現,如此處之使用,指示其中電腦得到幾何模 型且在該模型被接收之後必須輸出該呈現之影像一短時間 10 的呈現。作為範例,電腦產生影片不需要即時地被產生, 因為一旦剪輯者在決定最後剪輯時,該幾何模型將是可用 且呈現可進行幾星期或幾個月。但是,對於互動視訊遊戲, 該幾何模型可能取決於遊戲者不可預先決定的行動並且電 腦必須以非常少的時間呈現景象以便該遊戲反應於遊戲者 15 之動作。 關於即時呈現,一種常見的方法是Z緩衝器方法。利用 Z緩衝器,一影像之幾何模型被輸入至呈現器。該呈現器維 持一圖框緩衝器以及一Z緩衝器(同時也被稱為“深度緩衝 器”)。該圖框緩衝器可能是可與最後影像大小相匹配之尺 20 寸的二維陣列,其中陣列之各基胞具有許多的構成要素。 例如,其中一呈現器是產生一組24-位元之彩色1024 X 768 圖素影像,圖框緩衝器可包含一組1024 x 768陣列,其具有 儲存紅色數值、綠色數值、藍色數值以及遮色數值之陣列 的各基胞。 7 200529097 當影像完全被呈現時,紅色/綠色/藍色數值可被使用以 形成影像並且遮色數值可被使用於圖框緩衝器與另一影像 或圖框緩衝器組合的情況中。實際上,一基胞數值指示供 用於對應圖素之色彩以及在那圖素之影像的透明度,當圖 5 框緩衝器内容是“被覆蓋”在背景或另一影像或圖框緩衝器 上時,其是用於判定最終色彩數值。 於使用圖框緩衝器時,呈現器接收關於多邊形之資訊 作為多邊形之訊流或依據一些序列以讀取它們。於許多情 況中,該訊流中之多邊形的順序是使得較接近的多邊形在 10 較遠的多邊形之前被接收,並且於多邊形相交處,多邊形 可能無法完全地利用其深度被排序。來自該訊流之一目前 多邊形被處理並且接著下一個多邊形被處理,或多於一個 可平行地被完成。該目前多邊形利用檢視其參數而被處 理,以依據觀看空間、觀看點以及觀看平面網柵中之多邊 15 形位置而判定哪個圖素是目前多邊形跨越之圖素。對於多 邊形跨越之各圖素,圖框緩衝器中的對應數值被設定為重 疊那圖素之多邊形部分的色彩,如第2圖之展示。 第2圖中,圖框緩衝器20展示處理三角形A和B之結 果。圖框緩衝器之一基胞,基胞22,展開地被展示並且包 20 含三組色彩數值(紅色、綠色、藍色)24以及透明度數值(遮 色值)26。 如第2圖所展示,供用於圖框緩衝器中最多數圖素之數 值是空白(或被設定為背景色彩、樣型或紋理),並且其一 些基胞包含供用於一個或多個物件之數值。供用於更多於 200529097 一物件之數值發生,例如,其中物件重疊且較接近的物件 具有至少一些透明度或其中一物件不完全地覆蓋該圖素之 網栅開孔(一般如此,但不是必定地,一圖素之網柵開孔是 一種方形或矩形之網栅開孔)。 5 當然’呈現器將必須處理多邊形之重疊以及透明或部 份透明多邊形及背景之互動。由於這原因,z緩衝器出現於 遊戲中。如第3圖之展示,Z緩衝器30,一般也具有可比較 於影像的尺寸,具有基胞3 2 ’其代表利用圖框緩衝器中對 應的色彩數值被表示之多邊形的深度數值。Z緩衝器被使用 10 以判定是否新近被接收的多邊形之分別掃射圖素需要被考 慮。 當呈現器接收多邊形時’它判定其跨越之各圖素處多 邊形之Z數值(深度)’如第3圖之展不。於一些實施例中, 具有全部或部份覆蓋範圍之圖素被更新,除了在三角形右 15 方及/或底部邊緣上的圖素之外(或其他的一些方法被使用 以確保沿著一共用邊緣或在二個多邊形之間的圖素可避免 多於一次地被更新)。 這些Z數值被儲存於z緩衝器中,如果該深度是較小於 被儲存在其中之任何先前的Z數值。另外地,除了“較小於 20 (less than)”之外的一些其他準則可被使用。於一般的實施 例中,僅一組供用於Z緩衝器之Z數值被儲存,因此,過去 有哪一多邊形相交一圖素之完整歷史是不可得的。 在最初,圖框緩衝器之各基胞被調整歸零或被設定為 背景色彩、樣型或紋理,並且Z緩衝器各基胞被設定為背景 200529097 數值,例如,無限值。接著,當呈現器接收用於第一多邊 形之模型時,呈現器儲存它的色彩數值進入圖框緩衝器之 對應的圖素基胞中並且儲存其各圖素之深度在z緩衝器 中。其中當多邊形是透明的或部份透明時,背景數值將被 5 考慮以指派該圖框緩衝器基胞數值。 關於下一個多邊形,如果它不重疊於第一多邊形,則 完成其相同之處理。但是,其中第二多邊形(或任何隨後的 多邊形)是在弟一多邊形(或任何先前之多邊形)之前,則z 緩衝器被更新而具有供用於新多邊形之新的且較接近深度 之數值並且圖框緩衝器被更新而具有反映該目前多邊形之 色彩數值的新數值、目前多邊形之透明度(遮色數值)以及 在重疊圖素位置之圖框緩衝器中的目前數值。 如果,稍後之-多邊形是在-早先的多邊形(亦即,在 -較遠之深度)後面,則它不被處理。如果所有可供用的僅 是-圖框缓衝器以及-Z緩衝器時,則它不能適當地被處 理,因為沒有關於何者多邊形是在稍後的多邊形之前以及 目前圖框緩衝器數值將如何被判定的足夠資訊。任何人可 在所有被接收的多邊形之上搜尋以找出重疊的多邊形,但 是這在計算上是昂貴的操作並且通常不能在指定的限制時 20 間内被完成以即時地呈現。 一種解決辦法是忽略該等重疊並且假設該等多邊形是 供用於多數適當地被形成之部份並且是完全地不透明的。 於-些影像中,這是可接受的,但是在其中許多多邊形不 疋完全地不透明之處,其導致混疊邊緣以及顯著的異常。 200529097 例如,當在建築物前面的樹木之前呈現一著色的窗戶時, 如果一些樹木多邊形在窗戶多邊形之後被處理,影像將該 經由窗戶展示該建築物而有一些看不見的葉子在樹上。 該問題可藉由在傳送它們至呈現器之前以深度將所有 5 多邊形分類而被解決。於上面範例中,呈現器將接收所有 供用於建築物的多邊形並且更新圖框緩衝器,因此,接著 供用於樹木之多邊形並且接著供用於該窗戶之多邊形,因 而各多邊形被處理。雖然這理論上是可能,但實際上,這 是不易實行的,因為分類將花費相當多的計算時間,特別 10 是用於10000個多邊形或更多的一般模型時,並且不能處理 相交多邊形之問題,其中被投射在觀看空間上之第一個多 邊形和第二個多邊形重疊,其中對於一些圖素而言,第一 多邊形是比第二多邊形較接近觀看點,並且對於一些其他 的圖素而言,第二多邊形是比第一多邊形較接近該觀看 15 點。相交多邊形可藉由對於各圖素而相異地分類多邊形而 被處理,但是其所需的計算將是過高的。 另一種方法是深度容器之使用。那方法中,多邊形不 是完全地利用深度而被分類,而是被安置於與深度範圍相 關的容器中。一旦所有的多邊形被’’放入容器中’’,具有包 20 含多邊形之最小深度範圍之容器被處理。這方法具有一些 缺點,如需要多邊形儲存部、正確地猜測第一回之適當深 度範圍,並且不能與在不同容器中,但是仍然相交的多邊 形,或進入多數個容器内之多邊形相關。 另一種方法之中,習知為A-緩衝器之Z緩衝器變化被使 11 200529097 用。於A-緩衝器中,久 各圖素利用圖素緩衝器陣列中之_ Jg 目被表不,該圖素缥掄 只 口1¼衝為陣列指示表面 中之表面佔用圖素或,冰度’其 素區域時,可能佔用所^ 透明的或不覆蓋整個圖 表。雜份的W純域之表面鏈接列 如吳P 4 可被使用以產生—完美影像(亦即, 如果各夕邊形被分類而不在呈現之前重 生),但它將趨向複雜且需要巍^ ^象將產
而要額外的步驟以管理被鏈接之列 表以及其類似者。 J 10 15
有王見之改進技術以克服上述先前技術之缺點。 【^^明内】 發明概要 的呈現。多數個圖框緩衝器可使用多數個訊框處理器而平 行地被處理。 於-影像處理器實施例中,影像利用深度而被呈現於 多數個圖框緩衝器和對應的2緩衝器中,並且稍後多數個圖 框缓衝器被組合以形成被呈現之影像。該呈現可以硬體、 軟體或其組合被製作’以供驗影像之即時的或接近即時 本發明之-論點是,呈現可在以任意順序被接收之多 邊形的訊流上被進行,因而不需要預先分類該等多邊形。 20不需要複雜資料結構和處理,而允許呈現程序快速地進 行,那是對於完全或幾乎完全移動之視訊,呈現必須即時 或接近即時地被完成所需求。 本發明之一論點是,影像處理器具有在多數個圖框緩 衝器中之圖框緩衝器數目的指示。利用這指示,影像處理 12 200529097 器可形成程式記憶體之配置,如果需要的話,並且將以所 需的保真度而處理影像資料。被使用之圖框緩衝器數量可 依供用於不同的保真度和影像所需而不同。 此處揭示之本發明性質和優點可藉由參考說明之其餘 5 部份和附圖而進一步了解。 圖式簡單說明 第1圖展示可被使用以從該處呈現一影像之習見幾何 模型的範例。 第2圖展示習見圖框緩衝器的範例。 10 第3圖展示習見Z緩衝器的範例。 第4圖展示變化比率之重疊圖形。 第5圖是依據本發明論點之可被使用以呈現影像的電 腦糸統方塊圖。 第6圖是展示處理器和緩衝器互動之方塊圖。 15 第7圖展示當多邊形利用習見的圖框緩衝器以未分類 順序被處理時發生的錯誤之圖形;第7A圖展示一種處理程 序,其中對於一圖素之多邊形屬性由前至後被處理的圖 形,而第7B圖展示一種處理程序,其中對於一圖素之多邊 形屬性由後至前被處理的圖形。 20 第8圖展示當多位準Z緩衝器被使用而多邊形以未分類 順序被處理時所發生之圖形;第8A圖展示由前至後處理之 圖形,而第8B圖展示由後至前處理之圖形。 第9圖展示緩衝器和配置圖素至特定的緩衝器之範例。 第10圖展示在處理二個重疊的多邊形之後的多位準圖 13 200529097 框緩衝器和多位準z緩衝器之狀態的範例。 第11圖是於呈現器中處理多邊形之掃射圖素之可能程 序的流程圖。 第12圖展示依據本發明實施例使用多位準圖框緩衝器 5和多位準2緩衝器被處理之一組元件的範例。 第13圖展示呈現以任意的順序展示於第圖之元件的 處理程序圖形。 第14圖是可被使用於平行處理多邊形而呈現影像之平 行處理系統的方塊圖。 ίο 第i5(a)-(^)圖展示使用圖框緩衝器之各種效應的圖形。 【實施冷式】 較佳實施例之詳細說明 如第4圖所展示,當呈現元件(例如,多邊形)時,一圖 素可能覆蓋多於一組的那些元件。於第4圖中,一觀看平面 15 4〇被呈現且包含三角形A和B之圖形。於這情況中,當映射 至圖素網柵42時,二個三角形之相交處是在圖素44的網柵 開孔之内。如利用將畫面推近之放大圖之展示,圖素44部 份地被三角形A所覆蓋,部份地被三角形B所覆蓋,並且部 份地不被兩者所覆蓋,因此背景顯示出來。對於圖素44之 2〇色彩數值的理想呈現,應該包含那三元件的每個提供物。 廷可藉由考慮各元件佔用之圖素網柵開孔的相對面積以及 各色彩/透明度數值而被完成。如果所有的多邊形被分類(針 對整個影像或使用掃瞄條方法之任一方法),則重疊各圖素 之各個元件可被考慮,但是對於這分類之多數實際的處理 14 200529097 系統’系統需要依序地得到關於元件 欠 ; <貝矾,處理它並且 往可進至下-個元件。因此,系統需要處理被接 形且假設它們不被分類。 夕運 第5圖是依據本發明論點之可被使用以 訊遊戲電腦系統HK)之方塊圖。被展示 ^象的視 — 糸統100包含一被 耦合至顯示器104之操縱臺102以及可抽 1更用以與遊戲伸用 者互動之輸入/輸出(I/O)裝置106。展示 Τ¥„11Λ 不之刼縱臺102包含處 =,_儲存㈣、暫時資料儲存器u4以及‘ 10 15 20 處理益116。操縱臺1G2可以是手持視訊遊戲裝置、用於操 作視汛遊戲之操縱臺(特殊用途)計算 卞 t示、、死、一般用途之膝上 聖輕便電腦或桌上型電腦、或其他適當的系統。 程式碼儲存器1丨2可以是R 〇 Μ (唯 項。己fe體)、RAM(隨 機存取記憶體)、硬碟、其他磁性儲存器、光學儲存器、其 他儲存器或這些之組合或變化。於f見的配置巾,部份 程式規劃(ROM、PR0M、EPR〇M、EEpR〇M等等)之:式 碼被儲存於RQM巾,並且部份程式碼被儲存於可移動的媒 =上,例如,CD-ROM 120(如所展示),或可能被儲存於卡 帶、記憶體晶片或其類似者上,或經由網路或其他所需之 電子頻道上被得到。一般,可發現程式碼被實施於實體的 L號-承載媒體中。 臨時貧料儲存器114可被使用以儲存所需要之變數和 處理器資料。一般,臨時資料儲存器114是RAM且擁有在玩 遊戲時被產生之資料,並且其一部份同時也可能被保留以 供用於圖框緩衝器、深度緩衝器、多邊形列表、紋理儲存 15 200529097 器及/或其他需要之資料,或可被使用以呈現作為視訊遊戲 顯示之部分的影像。 因為視訊遊戲很可能是使得被呈現於顯示104上之特 定影像序列取決於遊戲指令處理結果,並且那些遊戲指令 5 很可能依序地取決於使用者之輸入,對於操縱臺102快速地 處理輸入以及呈現一反應影像序列是重要的。 第6圖是展示處理器和緩衝器互動之方塊圖,其更詳細 地展示第5圖之元件。如第6圖所展示,處理器110讀取程式 • 碼和程式資料,並且反應於程式指令,而輸出呈現指令至 10 圖形處理器116,其接著從多邊形緩衝器150讀取且與圖素 緩衝器160互動以形成被輸出作為操縱臺102上之顯示的一 個或多個影像之影像序列。另外地,取代送出呈現指令至 圖形處理器116或除了送出呈現指令之外,處理器110可以 直接地與多邊形緩衝器150互動。例如,處理器110可判定 15 哪個物件是出現在圖中並且利用圖形處理器116而提供多 邊形或物件之其他數學表示至多邊形緩衝器150以供依序 _ 的處理。 於一製作範例中,處理器110發出高階圖形命令至圖形 處理器116。此高階圖形命令可能是利用那些公開之GL規 - 20 格而被指定,或被圖形處理器製造商所指定。 ^ 於一般的影像呈現程序中,圖形處理器116從多邊形緩 衝器150讀取用於多邊形之多邊形資料,而處理該多邊形並 且更新圖素緩衝器160,因此,接著移動至下一個多邊形上 直至所有的多邊形被處理為止,或至少所有需要被處理及/ 16 200529097 或需要於圖中被處理的多邊形被處理為止。於這方面,呈 現器處理多邊形訊流,雖然該等多邊形可能適當地被讀取 並且可能多邊形數量是已知的或可決定的有限集。對於記 憶體效率和速率,通常最好是多邊形作為訊流而被處理(相 5 對於隨機存取,或其他的排序),因而對於所有組成影像之 多邊形,不需迅速、昂貴的記憶體被使用於被處理之多邊 形。 可能地,處理器110可以一種分類順序而裝載多邊形資 料於多邊形緩衝器150中(如果可能的話,可能不是其中有 1〇多邊形重疊之情況),但是一般有更多多邊形以一種未分類 之順序而被儲存於多邊形緩衝器150中。應該了解,雖然這 些範例使用多邊形作為被處理之影像元件,上述說明之裝 置和方法也可被使用於除了多邊形之外的影像元件上。 第7圖展示如何依據被呈現器(例如,圖形處理器116) 接收之處理元件的順序而可能得到之不同的結果。圖框緩 衝杰基胞(以及其之對應的z緩衝器基胞)17〇以一初始數值 開始(此處’是用於色彩數值之零以及用於深度之”無限大,, 的數值)。圖框緩衝器基胞170—般是圖框緩衝器中許多基 胞之一基胞,例如可能以第6圖展示之圖素緩衝器ι6〇的記 2〇憶體儲存器或其相似之儲存器被形成。 第7A圖中’考慮三角形a首先被接收的情況。當呈現 為接收二角形A時,它將更新基胞170之深度為深度Z,在 對應圖素位置的三角形A之深度,並且同樣地也更新色彩和 遮色數值為在該值置之三角形A之色彩/透明度,其被展示 17 200529097 為ka (Ra、Ga、Ba、Aa),其中ka是被A所覆蓋之圖素數量的 -常數表示。其巾除了 RGB之外的色彩空間被制,其對 應的數值將被儲存。例如,各屬性可能以cymk空間之四 組數值被特徵化及/或包含另外的構成要素,例如,模糊數 5 值、圖素調整等等。 當呈現器接收三角形B時,它檢查對應至基胞17〇的圖 素之冰度B並且注意到Zb是較小於&因而它使用已經在圖 框缓衝為'中之數值組合三角形B之數值Rb、Gb、匕以及~, 其中kb是考慮三角形b透明度和相對覆蓋範圍以及其他情 10況(例如,難解之深度判定)之係數。用於該圖素之產生的數 值接著是具有深度數值Zb2(ka*Ra+kb*Rb,ka*Ga+k^Gb, ka*Ba+kb*Bb,ka*Aa+kb*Ab)。 如果元件從最遠至最接近地依序被接收時這有效果, 其/般導致呈現器將接收一分類列表的期望。但是,在沒 15有時間或计异資源去分類,或由於重疊而不可能分類時, 其效果不是令人滿意的。 於第7B圖中,考慮三角形b首先被接收之情況。當呈 現器接收三角形B時,它更新供用於基胞170之深度為心並 且也更新色彩以及遮色數值為在該位置之三角形B色彩/透 20明度為kb*(Rb,Gb,Bb,Ab)。但是,當呈現器呈現三角形A 時’它檢查深度並且注意到在那圖素位置之Za是較大於 Zb,因而它必須忽略三角形A之物件。除非有更多關於先前 元件和背景之資訊被保留,否則呈現器不能容易地判定導 致圖框緩衝器基胞中之目前數值的所有屬性,並且反向作 200529097 業地考慮三角形B。 弟8圖展示根據本發明論點使用多階層圖框緩衝器而 被改進之結果。於此展示之圖框緩衝器/Z-缓衝器基胞180, 具有兩個位準,而利用基胞180(0和基胞180(2)被表示。再 5 次地,考慮三角形A首先被接收之情況。當呈現器接收三角 形A時,它檢查基胞180(1)和180(2)之内容,其注意到該兩 者皆是空的(或被設定為背景值)並且更新用於基胞180(1) 之色彩、遮色值以及深度數值為ka*(Ra、Ga、Ba、Aa)以及 Za。 10 當呈現器接收三角形B時,它檢查深度並且注意到Zb 是較小於Za,因此它移動基胞180(1)之内容至基胞180(2)並 且使用基胞180(1)於數值kb*(Rb,Gb,Bb,Ab)以及Zb。對於 依序的元件,它們的深度數值相對於基胞180(1)-(2)之内容 被考慮。如果一依序的元件是比A和B兩者較接近,則呈現 15 器將以基胞180(1)之内容重疊寫入基胞180(2)之内容並且 使用基胞180(1)於依序的元件。如果依序的元件是在a和B 之間,則呈現器將以依序的元件重疊寫入基胞180(2)之内 容。如果依序元件是比A和B兩者較遠離,則除非有更多於 兩個位準,否則呈現器將忽略它。 20 第8B圖中,考慮三角形B首先被接收之情況。當呈現 器接收三角形B時,它以kb*(Rb,Gb,Bb,Ab)以及Zb更新基 胞180(1)。當呈現器具有三角形A時,它檢查A之深度並且 注意到在該圖素位置之Za是較大於Zb,因此它Wka*(Ra, Ga,Ba,Aa)以及Za£新基胞 180(2)。 19 200529097 作為對於多位準緩衝器之另外負載之範例,考慮一典 型之實施例。對於一640圖素χ480圖素之顯示器,其中各色 彩成分具有八位元之解析度,遮色數值具有八位元之解析 度並且床度數值具有32位元之解析度’各圖框緩衝器和深 5度緩衝器位準將需要大約2.5百萬位元組記憶體,因此一個 四位準緩衝器將僅需要大約10百萬位元組記憶體,相對於 其他所需要之處理成本,其是低廉的。位準數量可依據景 象之複雜性而變化。例如,一些背景可能僅需要一些圖框 緩衝器,而毛髮、玻璃、深度以及其他的影像特點可能需 1〇要更多之圖框緩衝器。遊戲設計者可能全面地指明每一景 象或每h況,該使用多少圖框緩衝器。高階圖形命令可 包含指示關於一影像使用多少圖框緩衝器之命令。 /第9圖展示上面範例中在處理三角形A*B之後的圖框 、,街器和Z'緩衝$之兩位準的内容。如所展*,圖框緩衝 15々第—位準包含被任一個三角形所覆蓋之圖素的數值並且 圖框緩衝器第二位準包含被兩個三角形所覆蓋之圖素的數 值。 里所有的元件被處理’多位準圖框緩衝器可被摺疊 起來而進入-緩衝器中。因為在各基胞之位準以深度順序 20而結束,訊框緩衝器可以背景,位準2,之後接著位準㈤ 2處理。於更—般的情況中’位準可如背景地被處理,接 著位準N,位準N-1,…,位準2,接著是位準卜因此,這 處理程序利用比完全地分類較少很多的力氣而形成“部份 的分類’,,並且W分類”方法具有較佳㈣像品f。換言 20 200529097 之錢理程序對於各圖素保持最高的N>1數值並且在處 理程序結束時分類它們喊它們已經以分類順序結束),以產 生圖素數值。於—些情況中,數值N可以是變數,以加速處 理並且以較低數健減低較簡單影像的記憶體使用,並且當 5需要較高數值N時則改進影像品質。 第10圖展示在處理二個重疊多邊形之後多階層圖框緩 衝器和多階層z緩衝器的狀態範例。如所展示,一些圖素將 依據來自三角形A、三角形BA/或背景(“X”)的第一階層圖 框緩衝器中之數值而被上色彩,而同時一些圖素將使用來 ⑺2第-階層圖框緩衝器之崎值和來自第二階層圖框緩衝 器(’’BA”)之A數值而被上色彩。 第11圖是用於處理呈現器中多邊形之掃射圖素之可能 處理程序流程圖。於這範例中,緩衝器有]^個階層。實際上, 對於-些影像,.2,.4,1^8朗=5具有令人丁滿意 U的效果。對於較高的N’其增^則可能不顯著,因在超越最 接近四個多邊形之圖素色彩上的多邊形效應可能不大。: 注意到,因為各元件之屬性被考慮而判定在什麼階層置放 其屬性’其結紋在各圖素之最接近崎件是可能保留於圖 框緩衝器中者。於-些實施例中,當遇到一不透明的元件 2〇完全地覆蓋圖素時,則處理被終止,以節省處理步驟,因 更遠離之元件將不影響那圖素之色彩。
如所展示’ # —新的树被裝載時,變數新的RGBA 和新的Z被設定以分別地對應於在所給予圖素位 / 、夏I新的
元件之色彩數值以及在該所給予圖素位置之元件深戶。,Z 21 200529097 數值被比車父於已經被儲存於各階層z緩衝器中之z數值。當 對於新元件之屬性的適當位置被發現時,它在該適當的階 層被交換。如果該新的元件不是整個地不透明並且整個地 覆蓋該所給予的圖素,則該被交換之數值與下一個較低階 5層父換,等等。如果新的元件是不透明的並且整個地覆蓋 該所給予的圖素,則更遠離階層的數值不需要被考慮並且 進一步處理可被越過,雖然一些實施例可能進行該處理以 取代檢查。在判定圖素完全覆蓋之計算數量是更多於交換 數值所需要之計算之情況中,後者可能是有用的。 10 虛線方格202代表新元件之裝載、檢查以及交換程序的 步驟。於一些實施例中,被使用於虛線方格202之程序步驟 的數碼及/或邏輯是重複被使用於N步驟中之各步驟,但是 許多步驟被使用以發現在那圖素位置之新元件的正確階 層。應注意到,多邊形相交處,其多邊形順序可以是圖素 15至圖素不同,但那是自動地被處理。雖然展示之範例展現 一種串列方法,平行方法也可能被引用,因而多於一步驟 一次地被考慮,多於一元件一次地被考慮,及/或多於一圖 素一次地被考慮。 於這範例中,對於是否考慮對於圖素之多邊形屬性應 20該依據z數值被考慮的測試可以是除了在上面第10圖左邊 行之步驟所展示之“較小於”測試之外的測試。“第i個(ith),,z 和新的Z之測試可以是下面表示式之一真值:IZ>新的Z、 iz<新的z、IZ ^新的z、IZ s新的z、IZ ==新的Z、IZ !=新 的2(不相等)’其中IZ是第i個Z。使用不同的比較於相同之 22 200529097 多邊形集合上可導致不同的視覺效應。 弟12圖展示依據本發明實施例使用多階廣圖框緩衝器 和多階層Z緩衝器而被處理之一組元件的範例。如所展示, 元件A、B、C、D、E以及F重疊目前圖素21〇。以至於它們 5的深度是。關於這些元件之資訊可依循 圖素接著圖素之基礎被儲存以供用於最後呈現至平面 220(1)、220(2)、220(3)、以及220(4)中之圖素成分數值。 第13圖展示呈現以任意順序而展示於第12圖之元件的 處理私序。應注意到,在首先四個元件被處理之後,一元 10件被捨棄,因接著是四組較接近的元件。於一些實施例中, 其中四個(或更多)元件被檢測,背景屬性不被考慮,以避免 人為效應。 如第13圖所展示,首先緩衝器各階層是空的。假設, 元件依這順序:E,B,D,F,C,A而被接收。首先遇到 15之凡件是疋件£並且其被晝入基胞220(1)中。接著,元件B 被旦入基胞220(1)中並且基胞22〇(丨)之内容被移位至基胞 (2)這移位可使用圯憶體交換處理且接著新内容的重疊 寫入而被元成。接著,元件D被處理,基胞220(2)移位至基 胞22〇(3)亚且元件〇被晝入基胞—⑺中。操作前進直至所 20有的六個元件被處理為止,而導致元件A、B、c以及〇逗留 在基胞中。這些接著可被組合為最後之結果。 使用這些技術,具有不是完全地不透明的多邊形之影 像可被處理。同時,在一圖素被-多邊形以及背景及/或多 ;夕邊开v所部份地跨越之情況也可被處理,而導致抗膺 23 200529097 頻之多邊形邊緣、線、點以及任何其他不完全地覆蓋一圖 素的元件之改進。 被使用之圖框緩衝器數量可取決於許多因素,例如, 添加之記憶體的成本限制、透明多邊形的可能數目以及多 5 邊形之尺寸。其中多邊形之尺寸是較小於圖素展幅,它很 可能是許多圖素將從許多透明的或不透明的多邊形以得到 屬性,因此可能需要更多的訊框緩衝器。於硬體製作中, 供圖框緩衝器使用之記憶體可能被固定在一固定數目的圖 框緩衝器,或該記憶體可能被共用於其他目的並且可用的 10 圖框緩衝器數量可能是可變的。該等訊框緩衝器之一可作 為累積圖框緩衝器,一旦所有的多邊形被處理,則所有的 其他圖框緩衝器將被總計而進入該累積圖框緩衝器中。 雖然以一些如分離結構之範例展示圖框緩衝器和z緩 衝器,該等分離結構可能是單一、多面之資料結構,例如, 15 第8圖展示之基胞180。設定階層數量為四,將於許多應用 中適當地作用,但是其他的階層數目,例如,二、三、五、 八、十以及十二,於某些應用中同時也可能作用。當記憶 體相對於計算努力之相對成本改變時,增加記憶體而避免 另外的計算工作可能有其意義。 20 上述說明之裝置和方法可被使用於各種圖形應用中, 例如,科學上的模型化、展現、視訊遊戲、以及需要呈現 之類似者。關於視訊遊戲方面,裝置可被建造於遊戲操縱 臺内,或以存取記憶體以供多階層緩衝器使用之軟體而製 作其方法。 24 200529097 第14圖是可被使用以平行處理多邊形以呈現影像之平 行處理系統的方塊圖。如所展示,第一組處理器241(1)接收 來自多邊形儲存器24〇之多邊形訊流。各處理器241可相似 地被規劃,以至於各處理器接收多邊形之一訊流並且保留 5各圖素之最佳”適合者。除了對於最後處理器241 (N)之 外’各處理器24丨輸出非被保留之元件至右邊之處理器。 各處理週期時,各處理器更新其獨自的圖素緩衝器243 之色彩、深度、以及其他數值,以供用於被保留之元件。 一旦處理器241(1)判定各多邊形已經被處理,則它發出一已 元成t載之信號並且組合器245組合N個圖素緩衝器243之 内谷。因為各處理器保留其最佳之適合者且不傳送它,該 結果當然將是一組被分類的數值,而處理器241(1)具有該最 佳數值,處理器241(2)具有下一個最佳數值,等等。以這方 式’影像呈現之平行處理可有效地被製作且使用上述之多 15階層緩衝技術。 第15圖展示使用多階層圖框緩衝器之影像呈現的效 應。弟15(a)、(b)以及(c)圖之各影像從相同之多邊形集合被 產生’該等多邊形被使用以描述許多頭髮重疊部分之幾何 模型。第15(a)圖展示使用一種單一習見的z緩衝器之呈現結 2〇 果。弟15(b)圖展不使用兩個圖框緩衝器(n=2)之被改進|士 果。第15(c)圖展示使用四個圖框緩衝器(N二4)之被改進結 果。於三組圖形之各圖形中,部份影像之放大圖被提供(第 15d-15f圖)。 上面之說明只供展示而非限制。當回顧本揭示時,熟 25 200529097 習本技術者應明白,本發明可有許多的變化。因此,本發 明之範疇並非參考上面之說明而決定,但是應該是參考所 附加的申請專利範圍與它們等效者之整體範疇而決定。 L圖式簡單說明3 5 第1圖展示可被使用以從該處呈現一影像之習見幾何 模型的範例。 第2圖展示習見圖框緩衝器的範例。 第3圖展示習見Z緩衝器的範例。 • 第4圖展示變化比率之重疊圖形。 10 第5圖是依據本發明論點之可被使用以呈現影像的電 腦糸統方塊圖。 第6圖是展示處理器和緩衝器互動之方塊圖。 第7圖展示當多邊形利用習見的圖框緩衝器以未分類 順序被處理時發生的錯誤之圖形;第7A圖展示一種處理程 15 序,其中對於一圖素之多邊形屬性由前至後被處理的圖 形,而第7B圖展示一種處理程序,其中對於一圖素之多邊 ® 形屬性由後至前被處理的圖形。 第8圖展示當多位準Z緩衝器被使用而多邊形以未分類 順序被處理時所發生之圖形;第8A圖展示由前至後處理之 - 20 圖形,而第8B圖展示由後至前處理之圖形。 . 第9圖展示緩衝器和配置圖素至特定的緩衝器之範例。 第10圖展示在處理二個重疊的多邊形之後的多位準圖 框緩衝器和多位準Z緩衝器之狀態的範例。 第11圖是於呈現器中處理多邊形之掃射圖素之可能程 26 200529097 序的流程圖。 第12圖展示依據本發明實施例使用多位準圖框緩衝器 和多位準Z緩衝器被處理之一組元件的範例。 第13圖展示呈現以任意的順序展示於第12圖之元件的 5 處理程序圖形。 第14圖是可被使用於平行處理多邊形而呈現影像之平 行處理系統的方塊圖。 第15(a)-(f)圖展示使用圖框緩衝器之各種效應的圖形。 ® 【主要元件符號說明】 10…觀看空間 112…程式碼儲存器 12…觀看點 114…暫時資料儲存器 14···網柵 116…圖形處理器 16…背景 120…唯讀記憶體 20…圖框緩衝器 150…多邊形緩衝器 22…基胞 160…圖素緩衝器 24…色彩數值(紅色、綠色、藍色) 170…圖框緩衝器基胞 26…透明度數值(遮色值) 180···圖框緩衝器/Ζ緩衝器基胞 30···Ζ緩衝器 202…程序步驟 32…基胞 210…目前圖素 40…觀看平面 220···平面 42…圖素網桃 220( 1 )、220(2)、220(3)、220(4)… 44…圖素 平面基胞 100···視訊遊戲電腦系統 240…多邊形儲存器 102···操縱臺 241…處理器 104···顯示器 243…圖素緩衝器 106···輸入/輸出(I/O)裝置 110···處理器 245…組合器 27