專利名稱:用于處理計算機圖形的方法和設(shè)備的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及計^i幾圖形的處理,更特別地,涉及當處理計^m圖形時用于
執(zhí)行反鋸齒(anti-aliasing)的方法和設(shè)備。
背景技術(shù):
將特別參照三維圖形的處理來描述本發(fā)明,不過就如本領(lǐng)域的技術(shù)人員將 會理解的,其同樣適用于二維圖形的處理。
如本領(lǐng)域所公知的,通常通過首先將待顯示的場景(scene)分成多個相似 的基本部分(通常所說的"基元(primitive)")來執(zhí)行3D圖形處理,以允許更 加容易地執(zhí)行3D圖形處理操作。這些"基元"通常是簡單多邊形的形式,如三 角形,并腿常ffi)l定義它們的頂點來描述它們。
一旦待顯示的場景被分成多個圖形基元,然后,如本領(lǐng)J^f公知的,圖形 基 常被進一步分成離散的圖形實體転素,通常稱為"片段(fragment)", 對其執(zhí)行實際的圖形處理操作(如渲染(rendering)操作)。旨這樣的圖形片 段將,并且對應(yīng)于基元中的一個或多個給定位置,并且實際上包括用于所討 論的一個或多個位置的娜集(如顏色和濃度(depth)值)。
每個圖形片段( 元素)可以對應(yīng)于最終顯示中的單個像素(像元)(由 于像素是待顯示的最終圖像中的奇點,所以會在3D圖形,器所操作的"片段" 與顯示中的像素之間存在一一映射)。然而,可以是這種情況,在"片段"和"像 素"之間不存在一一對應(yīng),例如,在顯示最終圖像之前,在所渲染的圖像上執(zhí) ^f寺定形式的后處理,例如縮小比例(down-scaling)。
因此,通常被執(zhí)行的3D圖形處理的兩個方面是圖形"基元"(或多邊形) 位置數(shù)據(jù)到圖形片段位置數(shù)據(jù)的"光柵化(rasterising)"(即,確定將被用于表 示待顯示的場景中的^基元的圖形片段的(x, y)位置),然后"渲染""光柵化 的"片段(即,片段的著色、明暗等等)以供在顯示屏上顯示。
(在3D圖形文獻中,術(shù)語"光柵化(rasterisation)"有時用于意指對片段的
基元轉(zhuǎn)換和渲染這二者。然而,這里"光柵化"將僅用于指代基元數(shù)據(jù)到片段地址的轉(zhuǎn)換。)
光柵化過程基本上包括為實際上動口在待顯示的場景上的采樣點陣歹臓定
所討論的基元覆蓋了陣列中的哪些采樣點。然后生成具有適當(x, y)位置的片段,
以用于渲染被發(fā)現(xiàn)由基元覆蓋的采樣點。
渲染過程基本上包括得到顯示每個片段所需的數(shù)據(jù)。這樣的數(shù)據(jù)通常包括
4Th片段的紅、綠和藍(RGB)顏色值(其將基本上確定顯示器上片段的顏色),
以及每個片段的所謂的"阿爾法"(透明度)值。
正如本領(lǐng)域所公知的,通常Mil以線性或流水線方式相繼地對每個片段執(zhí)
行^^蟲的渲染過程(步驟)來得到該數(shù)據(jù)(即,用于該片段的數(shù)據(jù))。因此,例
如根據(jù)例如片段的(x,y)位置以及為片段所屬的基元的頂點記錄的顏色和透明度 數(shù)據(jù),為每個片段首先分配初始RGB和阿爾法值。然后接慰也對片段 執(zhí)行 諸如紋理化(texturing)、霧化以及混合等等之類的操作。這些操作更改了為每 個片段設(shè)置的初始RGB柳SJ爾雖,以使得在最后的鵬操作之后,針片段 具有一組適當?shù)腞GB和阿爾法值以允許在顯示屏上正確地顯示該片段。
當處理供顯示的圖形時(當顯^i十^a生成的圖像時)遇到的一個問題是, 所顯示的圖像被量化為正被使用的顯示器(例如,監(jiān)視器或打印機)的離散像 素位置。這限制了所顯示圖像的分辨率并且會產(chǎn)生不希望的視覺偽像(artifact), 例如,輸出顯示設(shè)備的^DI率不足以顯示平滑線條。這些效應(yīng)通常被稱作"圖 形失真(aliasing)"。
圖1圖示了這樣的圖形失真效應(yīng)。圖1的左手ii^出了待繪制的圖像,而 右手邊示出了所顯示的實際圖像。如所能夠看到的,白色對象的期望的平滑曲 線實際上在顯示器上具有鋸齒微卜觀。這就是圖形失真。(圖l中,*方形表 示顯示器的像素,而交叉號,針對每啊x, y)像素位置確定了 (采樣了)顏色 值的該像素位置處的點。例如,圖1中的像素A被織喊全白,因為該像素位 置的顏色采樣點落入白色對象內(nèi)。應(yīng)當注意的是,圖1中僅示出了所關(guān)心的像 素上的采樣交叉,雖然實際上會對所有的像素進行采樣。)
ffl3^OT足夠高分辨率的顯示器可以消除所有圖形失真?zhèn)蜗?其對于肉眼 是可見的)。然而,電子顯示器和打印機的^^率通常是有限的,而很多圖形處 理系統(tǒng)使用其他技術(shù)設(shè)法消除或減少圖形失真的效應(yīng)。該技術(shù)通常被稱作反鋸 齒技術(shù)。一種已知的反鋸齒技賴爾作超級采樣或過采樣。
在這樣的方案中,對于最終顯示的針像素,存在多個采樣點(位置),并
且為每個(覆蓋的)單獨采樣點取單獨的顏色采樣(colour sample)(例如,通 過將^^采樣點渲染成單獨的片段)。其效果是,在渲染過程期間,為由基元覆 蓋的像素的旨采樣點取不同的顏色采樣。
這意味著為顯示器的每個像素位置取多個顏色采樣(^顏色采樣用于像 素的^采樣點,因為為^^采樣點渲染單獨的顏色值)。然后當顯示像素時, 這些多個顏色采樣被合并成像素的單一顏色。這具有平滑或平均所討論的像素 位置處的原始圖像的顏色值的效果。
圖2說明了超級采樣過程。在圖2所示的例子中,在渲染過程期間,為顯 示器中的每個像素確定四個采樣點并且為每個采樣點取單獨的顏色采樣。(從 而^這樣的采樣實際上肯,被視為"子像素",因為顯示器中的每個像素由四 個這樣的子像素組成。)然后合并(向下過濾(down-filter))給定像素的四個顏 色tt^樣(子像素),以使得用于顯示器中的像素的最終顏色是為像素所取的四 個顏色采樣的顏色的適當平均(混合)值。
這具有平滑所顯示的圖像,以及例如,Mil用顏色的中間陰影環(huán)繞它們來 減少顯著的圖像失真?zhèn)蜗竦男Ч_@會,在圖2中看到,其中像素A現(xiàn)在具有 兩個"白色"釆樣和兩個"黑色"采樣,并且因此在所顯示的圖像中被設(shè)置為 50%"白色"。這樣,根據(jù)例如發(fā)現(xiàn)多少像素落至腿緣的每一側(cè)上,使圍繞白色 對象的邊緣的像素變模糊以產(chǎn)生更平滑的邊緣。
超級采樣實際上以比實P示用于顯示器的分辨率高得多的分辨率來處理屏幕 圖像,然后在顯示之前,將處理后的圖像縮放(scale)并過濾(向下采樣)到 最終的分辨率。這具有提供具有減少圖像失真?zhèn)蜗竦母倪M圖像的效果,但是需 要更大的處理能力禾n/或時間,這是因為圖形處理系統(tǒng)必須實際上處理與所存在 的采樣一樣多的片段(以使得,例如,對于4x超級采樣(g卩,為*像素位置 取4個采樣), 需求將是沒有,超級采樣時的4倍)。
因此已經(jīng)建議了其他的反鋸齒技術(shù),在仍提供圖像質(zhì)量的一些艦的同時, 其與全部超級采樣相比具有較少的處理需求。
一種這樣的常見技術(shù)被稱為"多次采樣"。
在多^^樣的情況中,當圖像被光柵化成片段時(在光柵化階段),為M像素再次測試多個采樣點,以確定給定基元是否覆蓋了采樣點。因此,采用與 "超級采樣"系統(tǒng)類似的方式來確定多^^樣系統(tǒng)中基元的采樣點覆蓋范圍(因 此在多次采樣系統(tǒng)中,仍然有效地"超級采樣"(^^樣)基元的外部幾何邊緣)。
然而,在多次采樣系統(tǒng)的渲染過程中,由所討論的基元覆蓋的給定像素的 所有采樣點被分配以單個相同、公共的片段數(shù)據(jù)集(例如,濃度值、顏色值等 等)(而不是像超級采樣的情況,針分另俱有它們自己的片段數(shù)據(jù)集)。
因此,在多次釆樣中,當渲染"像素"時,為組成最終顯示的^H象素再 次取多個采樣,但是荊一為^^采樣確定單獨的顏色值(如完全超級采樣系統(tǒng) 盼瞎況那樣),而是確定單個顏色值并且應(yīng)用到發(fā)現(xiàn)其屬于最終圖像中的相同對 象的像素的所有采樣。換句話說,多次采樣計算場景中給定對象的給定像素的 單個顏色值,該顏色值被應(yīng)用到(再次使用)由該對象覆蓋的像素的所有采樣 (子像素)(與超級采樣形成對比,超級采樣中為^采樣確定單獨的顏色值)。
因為只有單個顏色值被用于給定像素的多個采樣,所以多次采樣與超級采 樣相比處理不那么密集,因此能夠允許比超級采樣更快的處理和性能。然而, 與超級采樣相比,所顯示的圖像的質(zhì)量有所降低,這是因為雖然仍以較高的分 辨率采樣對象的纖,但是顏色不是這樣。
盡管這樣,許多圖形處理系統(tǒng)使用多次采樣反鋸齒技術(shù),由于多次采樣能 夠大體上提供渲染圖像中足夠的(并且與根本沒有多次采樣鋼級采樣時相比 改進了的)反鋸齒,但是沒有完全超級采樣所必需的相當大的額外處理和計算 負擔。
然而,申請人現(xiàn)在已經(jīng)認識到現(xiàn)有多次采樣圖形處理方案的缺點。該缺點 涉及許多圖形處理系統(tǒng)中使用的被稱為"阿爾法測試"的過程。
如現(xiàn)有技術(shù)中所公知的,許多圖形處理系統(tǒng)^^一般稱為"阿爾法"或"阿 爾法值"的特 實際上^待渲染的對象的透明度(或其他)。實際上,圖形 頂點和片段,例如,可以與所謂的阿爾法值相關(guān)聯(lián),這些阿爾法值如與頂點和 片段相關(guān)聯(lián)的顏色(紅色、綠色、藍色)值,但是作為代替表示頂點或片段等 等處的對象的"透明度"。
給定片段的阿爾法值可以,例如,從為片段所屬的基元的頂點定義的阿爾
制直得到,從將被應(yīng)用到片段的紋理(texture)得到,或者從將被應(yīng)用到片段的 片段,器(shader)(像素著色器)禾歸中的計算得到。圖形處理中阿爾法值的共同使用是"公告牌(bill-boarding)",如特別是重 復(fù)渲染背景、圖案,如待顯示的場景中的樹和草。阿爾法值能夠被用于將諸如 紋理之類的特征有效地應(yīng)用于場景,這會比例如為樹的每個葉子等定義基元要 便宜。
在渲染過程期間,通常M:執(zhí)行所謂的"阿爾法測試"來執(zhí)fi^樣的鵬。
阿爾法測試通常是渲染流水線(pipeline)中的定義步驟,并M常包括把與正 被渲染的片段相關(guān)聯(lián)的阿爾法值與已經(jīng)為場景和所討論的阿爾法測試定義的臨 界值或參考阿爾法值相比較,并且然后根據(jù)比較結(jié)果來保留或丟棄所討論的片 段。換句話說,阿爾法測試4頓定義的臨界值或參考阿爾法值來保留或丟棄正 被渲染的片段(以働每片段寫A^不寫入?yún)^(qū)塊(tile)或幀緩沖器中)。
申請Ait—步認識到,在場景被渲染0 行阿爾法測試的結(jié)果是,它會將 邊緣弓l入到待顯示的場景中??赡軙a(chǎn)生邊緣或線,例如,阿爾法測試中阿爾 銜直和與其比較的臨界值交叉。
例如,如果阿爾法觀賦參考值有效地定義了穿過待顯示的場景的一條或多 條線,則其會弓胞線的一側(cè)上給定基元的片段(例如具有給定阿爾法值)被丟 棄,但是線的另一側(cè)上的被保留。同樣,如果與片段相關(guān)聯(lián)的阿爾法值在基元 的表面的范圍內(nèi)逐漸變化,則可能再次有效地存在穿過基元的線,該線的一側(cè) 上的片段被保留,而另一側(cè)上的片段被丟棄。
因此,這些阿爾法觀賦過程會有效地使一個或多個新媳被呈現(xiàn)或在基元 中(當其被顯示時)。(這里應(yīng)當注意的是,當執(zhí)行阿爾法測試時,這樣的阿爾 法測試引入的"邊緣"不在光柵化階S^現(xiàn)或引入,而只是在渲染過程之后出 現(xiàn)。)
申請Ait—步認識到,由此,阿爾法觀賦弓l入的這樣的邊鄉(xiāng)于反鋸齒可 能是希望的,同樣對于反鋸齒任何其他邊緣,諸如基元的幾何外部邊緣,也是 所希望的。
然而,在多次采樣圖形處理方案的情況下,如上討論的,當渲染片段時, 得到單個片段數(shù)據(jù)集(例如,顏色值(R, G, B值)和阿爾雖)并且將其用 于由給定基元覆蓋的像素的所有采樣位置。因此,給定像素的采樣點將只具有 與它們相關(guān)聯(lián)的單個阿爾雖,然后阿爾法值被用于像素的所有采樹立置。
換句話說,在多次采樣圖形處理方案中,只有單個阿爾法值被共同用于將要得到的像素的所有采樣。因此,當執(zhí)行阿爾法觀賦時,由于每^^樣具有相 同的阿爾法值,所以所有采樣或者沒有采樣將被丟棄,以致于實際上作為阿爾 法測試的結(jié)果,像素作為一個整體被保留或被丟棄。
申請人認識到,其的結(jié)果是,當執(zhí)行阿爾法觀賦時,該測i劃每使像素被整 體地保留或被丟棄。而且,這意味著以像素級分辨率,即實際上以整個像素乘 像素為基石H]^行阿爾法測試。
于是其效果是,不以過采樣(超級采樣)方式處理阿爾法觀賦弓l入的圖像 中的任何邊緣,并且因此不會是反鋸齒的(與如以上所論述的以皿樣(超級
采樣)方式處理的幾何外部原始ii^形成對比)。
因此,申請人認識到,即使在多7姊樣圖形渲染斑呈中,阿爾法觀!)試引入
的邊緣也不會是反鋸齒的并且因此它們的外觀不是很好。
(這個問題不趨向于在完全超級采樣圖形處理方案中出現(xiàn),因為在該情況 下,每個"采樣"將有效地具有它自己的顏色和阿爾法值并且因此無論如何會 以較高的、超級采樣的^^摔執(zhí)行阿爾法測試(因此是反鋸齒的)。然而,如上 所述,超級采樣可能不總是所希望的或者可能的,而在許多情況下,作為質(zhì)量 與處理負荷之間的權(quán)衡,優(yōu)先選用多次采樣圖形處理方案。)
申請人因此相信,仍然存在對多次采樣圖形處理系統(tǒng)進行,的余地,特 別針對這樣的方案中的阿爾法測試的艦。
發(fā)明內(nèi)容
根據(jù)本發(fā)明的第一方面,提供了一種鵬待顯示的圖像的圖形基元的方法,
該方飽括
為多個采樣點的多個集合中的每個采樣點確定圖形基元是否覆蓋了采樣
點;
生成一組圖形片段以用于渲染供顯示的基元,旨圖形片段對應(yīng)于被發(fā)現(xiàn) 包括由基元覆蓋的采樣點的多個采樣點的集合,以及定義將被用于被發(fā)現(xiàn)由基
元覆蓋的采樣點集合的采樣點的片段 集;
渲染為基元生成的圖形片段,以確定用于每個渲染的圖形片段的渲染片段 集;以及
作為渲染過程的一部分,執(zhí)行針對一個或多個片段的阿爾法測試;其中
M31以下步驟執(zhí)行阿爾法測試為與所討論的片段相對應(yīng)的每個覆蓋的采樣點生成單獨阿爾,;以及
使用為采樣點生成的單獨阿爾法n^斜蟲地執(zhí)行對每個覆蓋的采樣點的阿
爾法測試。
根據(jù)本發(fā)明的第二方面,提供了一種用于處理待顯示的圖像的圖形基元的
系統(tǒng),該系統(tǒng)包括
用于為多個采樣點的多個集合的*采樣點確定圖形基元是否覆蓋了采樣 點的裝置;
用于生成一組圖形片段以用于渲染供顯示的基元的裝置,旨圖形片段對 應(yīng)于被發(fā)現(xiàn)包括由基元覆蓋的采樣點的多個采樣點的集合,以及定義將被用于 被發(fā)現(xiàn)由基元覆蓋的采樣點集合的采樣點的片段 集;
用于渲染為基元生成的圖形片段以確定用于^渲染的圖形片段的渲染片
段數(shù)據(jù)集的裝置;以及
用于作為渲染斑呈的一部分而執(zhí)行針對一個或多個片段的阿爾法觀l賦的裝 置;其中
用于執(zhí)行阿爾法觀賦的裝置包括
用于為與所討論的片段相對應(yīng)的^h覆蓋的采樣點生成單獨阿爾法值的裝
置;以及
用于使用為采樣點生成的單獨阿爾法 單拠也執(zhí)行對#^覆蓋的采樣點 的阿爾法測試。
在本發(fā)明中,對其中每個圖形片段對應(yīng)于待顯示的圖像的多個采樣點的集 合的圖形片段執(zhí)行渲染過程(渲染)。(如上所述,每^h采樣點集合將,例如, 通常對應(yīng)于最終顯示中的4象素。)
于是其效果是,給定片段將定義,供將被用于與片段(正被用于渲染) 相對應(yīng)的采樣點集合的所有采樣點的單個公共的片段數(shù)據(jù)集。換句話說,本發(fā) 明是多次采樣圖形M方案。 然而,當作為渲染過程的一部分而對片段執(zhí)行阿爾法測試,而不是單個阿 爾法值和阿爾法值比較測試作為整體被用于片段(如將是現(xiàn)有技術(shù)多次采樣系 統(tǒng)的情形)時,在本發(fā)明中,為與片段相對應(yīng)(正被用于渲染)的每個覆蓋的 采樣點生成與郵可爾法值,然后與魁也執(zhí)行對^^覆蓋的采樣點的阿爾法測試。
其效果是,4頓為所討論的采樣點生成的單獨阿爾法值,S卩,實際上以采樣點的分辨率(等級),而不是齡(多個采樣點的集合的)片段的^f摔(等 級),與蟲(分別)執(zhí)行針對齡(覆蓋的)采樣點的阿爾法觀賦。
于是,這使得,例如,育,根據(jù)制郵可爾法觀賦的結(jié)果來保留或丟棄(采 樣點集合的)片段的采樣點,而不是像現(xiàn)有技術(shù)的多次采樣方案那樣,作為阿 爾法測試的結(jié)果,只旨嫩一起保留或丟棄所有的(采樣點集合的)片段的采樣 點。
這意味著,j篇在本發(fā)明中,實際上仍然會,以與超級采樣類似的方式 (即,^M象素使用多個單3^I樣)執(zhí)行阿爾法測試,雖然實際上不以完全超級 采樣方式,行渲染過程,而是"多 ^^樣"方案。
因此,實際上,在本發(fā)明中,對于每個片段(并且因此,例如,對于顯示 器的*像素)肖,使用(支持)多個阿爾法采樣,但是不需要完全的超級采 樣系統(tǒng)。本發(fā)明因此允許對阿爾法觀賦引入的邊緣執(zhí)行反鋸齒,但是不需要具 有完全的"超級采樣"渲染過程(并且因此沒有增加與完,級采樣系統(tǒng)相關(guān) 聯(lián)的大工作量)。
根據(jù)本發(fā)明的第三方面,提供了一種在圖形渲染系統(tǒng)中執(zhí)行阿爾法測試的 方法,其中待渲染的圖形片段均能夠表示由基元覆蓋的待顯示圖像的多個采樣 點,但是其最初均把它們與將被用于片段的單個阿爾法值相關(guān)聯(lián),該方法包括 fflil以下步驟執(zhí)4亍對片段的阿爾法測試
為與所討論的片段相對應(yīng)的每個覆蓋的采樣點生成單獨阿爾,;以及
使用為釆樣點生成的單獨阿爾法ttt斜蟲地執(zhí)行對每個覆蓋的采樣點的阿 爾法測試。
根據(jù)本發(fā)明的第四方面,提供了一種用于在圖形渲染系統(tǒng)中執(zhí)行阿爾法測 試的系統(tǒng),其中待渲染的圖形片段均會辦表示由基元覆蓋的待顯示圖像的多個 采樣點,但是其最初均把它們與將被用于片段的單個阿爾法值相關(guān)聯(lián),該系統(tǒng)
包括
用于為與所討論的片段相對應(yīng)的*覆蓋的采樣點生成單獨阿爾法值的裝 置;以及
用于使用為采樣點生成的單獨阿爾法itt單獨地執(zhí)行對旨覆蓋的采樣點
的阿爾法測試的裝置。
為待顯示的圖像所取的(并且其因此與渲染的每個片段相關(guān)聯(lián)的)采樣點的集合能夠根據(jù)需要進行選擇。如現(xiàn)有技術(shù)中所公知的,齡采樣點集合(并
且從而每個采樣點)將表示待顯示圖像中的不同位置(x, y位置)(不過每,
合中的采樣點的相對位置可能(并且通常將會)相同)。
通常的情形是,將在具有顯示器的輸出設(shè)備上顯示的圖像包括多^s象素,
^h采樣點集合iM地與顯示器的給定像素(像素位置)的采樣點集合相對應(yīng),
或者與顯示器的像素的一部分(例如,子像素)的采樣點集合相對應(yīng)。在后面 的方案中, 一組多個采樣點集合 地由用于顯示器像素的整個采樣點集合組 成。在這些方案中,每個片段將有效地渲染顯示器中給定像素的片段 。
采樣點的集合可以表示(覆蓋)待顯示的整個圖像區(qū)域,或者可以,例如 只表示(并覆蓋)待顯示的整個圖像的一部分。例如,將在基于區(qū)塊的渲染系
統(tǒng)中f柳后者的方案,其中依次渲染圖像(如16X16像素區(qū)塊)的單獨部分(區(qū) 塊),然后組合以便顯示最終的圖像。在這種情況下,^圖像的期望區(qū)塊(部 分)的多個采樣點集合將被用于處理基元,然后,如果需要,則為圖像的其他 區(qū)i,復(fù)該^l呈。
W^樣點集合包括多^樣點(即,覆蓋了圖像中的多個采樣位置)。能 夠根據(jù)需要選擇采樣點的實際數(shù)量,不過四個,選的數(shù)量。
肯嫩根據(jù)需要選擇每個采樣點集合中采樣點的模式(pattern)和(相對)
位置(采樣模式)。例如,育,4頓任何已知的誠的反鋸齒采樣模式,例如順
序柵格超級采樣。最{繼地,4頓旋轉(zhuǎn)柵格超級采樣模式,原因在于它提供較
好的采樣效果,如現(xiàn)有技術(shù)中所公知的。因此, 的是,圖像中的每個采樣 點具有唯一的x和y坐標。
在一個優(yōu)選的實施例中,就給定基元而言用于對圖像進行采樣的^^樣 點集合是相同的(即,{頓采樣點的相同數(shù)量和模式以及相對<體)。在這種情 況下,每個片段的采樣點集合將是相同的。
在另一個,的實施例中,就給定基元而言用于對圖jtit行采樣的采樣點 集合可能不同和/或是不同的,例如,在采樣點的數(shù)量和/^^樣模式鋼于每個 采樣點集合的相對位置。最皿的是,在用于渲染基元的片段之間采樣點集合 可以不同。
在一個 的實施例中,用于渲染基元的每個片m應(yīng)于不同的采樣點集 合。在這種方案中,實際上將只生成單個片段并且將其用于共同渲染^采樣點集合的采樣點,其中渲染(不同的)釆樣點集合的(多個)采樣點的每個片 段是共用的。
為渲染基元而生成的圖形片段的集合應(yīng)當包括用于適當渲染供顯示的基元 的足夠片段。因此,例如,公知的是,實際上在最終顯示中將不會看到基元的 一部分,所以將沒有必要為基元的該部分生成片段。同樣,即使已經(jīng)為基元生 成了片段,優(yōu)選的是,不渲染在最終圖像中實際上看不到的任何片段。(可以使
用,例如,早期濃度(z)-觀賦棘雌行評估(assess),如現(xiàn)有技術(shù)中所公知 的。)
為每個片段和采樣點確定并存儲的片段數(shù)據(jù)肖,是任何合適的此類 。 它應(yīng)該至少包括適當?shù)念伾炭?或透明度數(shù)據(jù),如RGB和阿爾,,例如,以 便允許適當:tM示顯示器的像素。(這里應(yīng)當理解的是,這里艦的"顏色娜" 包括合適的格雷碼麟似M,如將被用于單色或黑白顯示。)
至少在處理三維圖形的情況下,確定并存儲的片段數(shù)據(jù)imt也還包括用于 片段(并且從而用于所討論的一個或多^TO置)的濃度(z)值。
根據(jù)瞎況(并且如果需要),還能夠(,地)確定并存儲其他片段 , 如所謂的模板數(shù)據(jù)。
根據(jù)情況,應(yīng)當在適當?shù)钠螖?shù)據(jù)陣列中存儲渲染的片段數(shù)據(jù),如現(xiàn)有技 術(shù)中所公知的。如現(xiàn)有技術(shù)中所公知的,該陣列應(yīng)當表示,例如,片段位置的 二維陣列,然后可以適當?shù)貙ζ溥M行處理,以便例如,顯示像素的2D陣列。例 如,片段繊的陣列可以對應(yīng)于待顯示的圖像的采樣健的陣列。
肯,以任何期望的并且合適的方式來生成阿爾法值,所述阿爾,是為與 片段相對應(yīng)的旨(覆蓋的)采樣點而生成的,以供在本發(fā)明的阿爾法測試過 程中使用。
這里應(yīng)當注意的是,本發(fā)明中,為每^h^樣點生成單獨的阿爾法值。換句 話說,為每個(相關(guān)的)采樣點分別生成阿爾法值,并且分別執(zhí)行針對每個采 樣點的阿爾法值生成過程(而不是,例如,僅僅為每個采樣點分配最初為片段 分配或定義的阿爾、,)。
因此,每4^樣點將經(jīng)歷它本身的阿爾法值生成過程,并且將具有,并且 地具有為它生成的與對應(yīng)于片段的其他采樣點不同的阿爾法值(雖然有時 候,為每個采樣點生成的阿爾法值可能是相同的,例如,取決于阿爾法值在基元的范圍內(nèi)如何變化)。因此,在雌的實施例中,為針采樣點生成的阿爾法 值與為對應(yīng)于片段的其{ 樣點生成的阿爾^€不同。
在特別優(yōu)選的實施例中,通過根據(jù)與所討論的片段相關(guān)聯(lián)的和/或與正被渲 染的其他片段相關(guān)聯(lián)的一個或多個阿爾法值估計^采樣點處柳可爾法il^生 成采樣點的單獨阿爾法值。例如,如果片段具有已經(jīng)與它相關(guān)聯(lián)的給定阿爾法
值(例如,在渲染iif呈開始時為它定義的),貝iJtt^iikS少部分地^ffl為片段定
義的阿爾法值來生成(估計)將被用于本發(fā)明的阿爾法觀賦過程的片段的采樣 點的阿爾法f直。
因此,在特別優(yōu)選的實施例中,在渲染過程期間,使用為所討論的片段最 初定義的(單個)阿爾法 為片段的采樣點(一個或多個)生成單獨的阿爾雖。
在特別,的實施例中,所討論的片段的所生成的阿爾法值^iil使用為 待渲染的多于一個的片段定義的初鄉(xiāng)可爾法艦生成的,例如, 地,為所 討論的片段定義的阿爾法值以及為一個或多個相鄰片段定義的一個或多個阿爾
雄,并且imi爐接相鄰的片段。
在一^M^實施例中,包括所討論的片段的2X2塊的片段(2個片段寬度
乘以兩個片段高度的塊)的阿爾法值被用于為^^樣點生成(估計)單獨的
阿爾制直(例如,imt也,ffl5K頓鵬性過濾3if呈^^似的方式)。因此,優(yōu) 選地,為四個片段定義的初始阿爾,被用于為采樣位置生成制蟲的阿爾,。 當然,其他的方案也是可能的。例如,為片段定義的、用于阿爾法值生成 過程的初始阿爾法1M多,給定采樣點的阿爾法值的估計就越準確(但是,另
一方面,估it31程可能魏處理密集)。例如,可以4頓3X3塊的片段的初始
設(shè)置的阿爾法值。例如,如果希望,也可以使用為與所討論的片段相隔更遠的 片段定義的阿爾,,而不是直接相鄰的片段。
育,以任何合適且期望的方式,根據(jù)一個或多個片段的最初定義或得到的 單個阿爾法值來生成采樣點的阿爾法值。實際上,只要可能,目的是估計(再
現(xiàn)(recreate))采樣點處的阿爾 雄,并且這育^(頓任何誠的功肯^來實現(xiàn), 所述功能能夠提供每傾樣點處的阿爾法值的估計。當然,可能是這種情況, 不同的估計功能可能比其他的更為適合某些環(huán)境,例如,關(guān)于待顯示的場景的 阿爾feil是在該場景范圍內(nèi)平滑地變化,還是更加不規(guī)律地變化。在特別{ 的實施例中,通過以下步驟來估計片段的采樣點的阿爾纟雄 將為片段定義的單個初始阿爾法值作為片段中心處的阿爾法值,估計所討論的 采樣點處的阿爾法值相比于片段的中心點之間的差,并且將所估計的阿爾法值 之差加至U片段的單個初始阿爾法值以便得到將被用于采樣位置的阿爾法值。換
句話說,在iM的實施例中,估計采樣點處與片段的中心處的阿爾法值之間的
差,然后將其與為片段最初定義或得到的阿爾法值一起使用以生^樣點的阿 爾離
如果希望,片段的初始阿爾法值和/或用于片段的中心的阿爾法值可以是, 例如,靜態(tài)阿爾法值、動態(tài)變化的值、構(gòu)造的或計算的值等等。
在這些方案中,能夠以任何期望的方式得到或估計片段中心處與采樣位置 處的阿爾法值之間的差。然而,在特別,的實施例中使用梯度估計方法。換 句話說,優(yōu)先地估計或確定阿爾法值相對于從片段中心到采樣點的距離的變化
率(斜率(導(dǎo)數(shù))),然后J頓它來得到阿爾法值;tM (根據(jù)采樣點與片段中心
的距離)。
在這些方案中,能夠根據(jù)需要以任何^I的方式估計或得到阿爾法值相對 于距離的變化率(斜率)。在特別 的實施例中,這題過鵬當相鄰片段的 阿爾法值之間的差(以及適當相鄰片段的中心點之間的距離)來實現(xiàn)的。
因此,例如,能夠艦以下步驟來^i也估計X方向上阿爾》雄的變化率
(斜率)取彼此間相對的位置X和X+1 (或X-1)處的兩個片段的阿爾法值,確 定片段的阿爾法值之間的差以及兩個片段的中心之間沿X軸的距離,并且^ffl 阿爾法值的差以郷巨離來確定X方向上阿爾法值的梯度的估計。優(yōu)iMM吏用類 似過禾M^估計y方向上阿爾,的梯度,然后會,^OT這兩個梯度來估計^ 屏幕上任意線的阿爾法值的變化。
通常,根據(jù)需要,育,使用用于使用已知阿爾法值以及阿爾法值的差等等 來得到阿爾^11的任何,的過程。
為與片段(正被用于渲染)相對應(yīng)的^被覆蓋的采樣點生成制蟲的阿爾 法值。在優(yōu)選的實施例中,僅僅為被發(fā)現(xiàn)由基元覆蓋的一個或多4^樣點生成 阿爾,,不過,僅僅為與片段相對應(yīng)的采樣點集合中的所有采樣點生成阿爾 齒直而不考慮它們是否被所討論的基元所覆蓋是可能的。
為每傾樣點生成的阿爾法值被用于執(zhí)行針對每傾樣點的阿爾法測試。可以用任何期望并且合適的方式來執(zhí)行該阿爾法測試,并且該阿爾法測試可以 4腿地包括,如現(xiàn)有技術(shù)中公知的,把為采樣點生成的制郵可爾M與為所討 論的采樣點的阿爾法觀賦定義的(例如, 預(yù)定的)相應(yīng)參考或臨界阿爾法 值進行比較。如果希望,還可以^頓比簡單的臨界值比鞭為復(fù)雜的測試。
用于阿爾法測試的參考逾臨界阿爾法值可以包括任何合適的或期望的此類 值,并且可以用任何誠且期望的方式來得至蜮定義所述參考或臨荊可爾雖。 例如,可能存在為作為整體顯示的場景或部分場景定義的固定的、靜態(tài)的臨界 阿爾 雄??商鎿Q地,在某些方面,參考或臨荊可爾雖可以是動態(tài)救化的, 例如,根據(jù)其在場景中的位置(x, y位置),或根據(jù)某些其他參數(shù)或因素。
通常,將存在為所討論的采樣點的特定阿爾法測試定義的(例如,在4頓 中預(yù)定或得到的)特定阿爾法值,而該臨界或參考阿爾法值可以與用于同一片 段的其〗頓樣點和/或其他片段的采樣點的參考阿爾法值相同或不同,例如,取 決于就場景整體而言是否存在單個固定的參考阿爾法值,或者阿爾法值在場景 范圍內(nèi)是否有所改變。
育,根據(jù)需要{頓*與蟲采樣點的阿爾法觀賦比較的結(jié)果。在一^f寺別 優(yōu)選的實施例中,它們被用于確定是否丟棄(或不丟棄)所討論的采樣位置, 如現(xiàn)有技術(shù)中所公知的。實際上,如果阿爾法測試比較指示應(yīng)當保留采樣位置, 則為采樣位置(例如,片段數(shù)據(jù)陣列中的采樹立置)保留片段的顏色值等等(將
顏色值等寫到該采樹立置)(即,允許可能影響i^^樣位置的最終顏色),而如
果阿爾法觀賦比較指示應(yīng)當丟棄采樣位置,貝懷為所討論的采樣位置保留片段 的顏色值等等(不將顏色n等寫到該采樣位置)。
應(yīng)當理解的是,在這些方案中,可能需要存在某種機制5W^或記錄作為 阿爾法測試的結(jié)果是否已經(jīng)丟棄了給定采樣位置。這能夠以任何期望且合適的 方式來完成。
然而,在特別優(yōu)選的實施例中,每個圖形片段將其與以下數(shù)據(jù)相關(guān)聯(lián),所 述數(shù)據(jù)表示片段被用于渲染與片段相對應(yīng)的采樣點集合中的哪些采樣點(即, 與片段相對應(yīng)的采樣點集合中的采樣點,應(yīng)當(預(yù)期)為其在輸出片段數(shù)據(jù)陣 列中存儲渲染的片段數(shù)據(jù))。系統(tǒng)然后4,土 作來根據(jù)情況(針對所指示的選 定采樣位置,而不是與片段相關(guān)聯(lián)的剩余采,置)在片段數(shù)據(jù)陣列中存儲渲 染的片段數(shù)據(jù)。在該方案中,例如,指示片段正被用于渲染哪些采樣點的該數(shù)據(jù),雌地 最初基于并對應(yīng)于被發(fā)現(xiàn)由所討論的基元覆蓋的采樣位置。然而,阿爾法測試 結(jié)果然后 地被用于修改該數(shù)據(jù),以便指示作為阿爾法測試的結(jié)果而將被丟 棄的釆樣位置。
指示片段正被用于渲染哪些采樣點的信息ttiMk與經(jīng)過渲染器(renderer) 的片段的片段數(shù)據(jù)或其部分相關(guān)聯(lián)(如片段的RGB和阿爾法值)。,地采用 覆蓋掩碼(mask)的形式,其指示對于與片段相關(guān)聯(lián)的采樣位置集合的每傾 樣位置,片段是否正被用于渲染該采樣點(即,是否應(yīng)當(預(yù)期)為該采樣點 存儲片段的 )。所述掩碼然后能夠 地被修改為#^采樣點的阿爾法測試 的結(jié)果。
已經(jīng)發(fā)現(xiàn)該方案是將給定片段與適當?shù)牟蓸狱c進行關(guān)聯(lián)的特別便利的方 式,并且使本發(fā)明的操作更容易。
雖然如上所述,在一個雌的實施例中,本發(fā)明的阿爾法觀賦被用于保留 或丟棄與片段關(guān)聯(lián)的采樣位置,但是阿爾法測試結(jié)果的其他方案和4頓也是可 能的。
例如,在 的實施例中,斜蟲采樣位置上的阿爾法觀!l試還用于或者作為 代替被用于確定或估計阿爾法測試引入的邊緣是否經(jīng)過所討論的片段。
這可以通過,例如,確定片段的一些采樣位置是否"M"阿爾法觀賦比 較(例如,超過參考阿爾法值)而片段的其他采樣位置"沒有通過"阿爾法測 試(例如,小于參考值)來實現(xiàn)。這然后將指示阿爾法觀賦引入的邊緣可能或 者將要經(jīng)過片段。
還可以使用或者作為代替使用其,緣測試方案,如用于計算皿在何處 的基于幾何的測試。通常,如果希望,還可以^(頓或者作為代替4柳用于此目 的的與常規(guī)光柵化中進行的測試相似的倒可線功能測試。
因此,在雌的實施例中,鄉(xiāng)本發(fā)明的方式的阿爾法測試被用于評估阿 爾法測試弓1入的: 是否可以經(jīng)過片段。
在這些方案中,如果發(fā)測可爾法測試引入的纖可以經(jīng)過片段,則在特別 優(yōu)選的實施例中,再次渲染(重新發(fā)布(reissue)用于渲染)所討論的片段,但 是采用完全超級采樣方式。這可以通過,例如,循環(huán)回到渲染過程(流水線) 中較早的點并且將片段分成多個片段(多個拷貝)來實現(xiàn),其中每個片段表示單付采樣(采樣點)。
然后,這將使得阿爾法測試邊緣是反鋸齒的(m^t其進行"超級采樣"), 而不需要以超級采樣方式處理整個場景或基元(這是由于僅以超級采樣方式處 理處于落在阿爾法測試邊緣的風險的那些片段)。
實際上,應(yīng)該相信,在其自己的^l利范圍內(nèi),本發(fā)明定義的這樣的方案和 其他方案可以是新的并且有利的。
因此,根據(jù)本發(fā)明的第五方面,提供了一種處理待顯示的圖像的圖形基元 的方法,該方法包括
生成一組圖形片段以用于渲染供顯示的基元;
渲染為基元生成的圖形片段,以確定用于每個渲染的圖形片段的渲染片段
數(shù)據(jù)集;以及
作為渲染過程的一部分,執(zhí)行針對一個或多個片段的阿爾法測試;其中 M以下步驟執(zhí)4亍阿爾法測試
為所討論的一個或多個片段的一個或多個采樣點生成單獨阿爾法值;以及 使用為采樣點生成的單獨阿爾法 與蟲地執(zhí)行對采樣點或每^^樣點的 阿爾法測試。
根據(jù)本發(fā)明的第六方面,提供了一種用于處理待顯示的圖像的圖形基元的
系統(tǒng),該系統(tǒng)包括
用于生成一組圖形片段以用于渲染供顯示的基元的裝置;
用于渲染為基元生成的圖形片段以確定用于^渲染的圖形片段的渲染片 段數(shù)據(jù)集的裝置;以及
用于作為渲染過程的一部分而執(zhí)行針對一個或多個片段的阿爾法測試的裝 置;其中
用于執(zhí)4于阿爾法測試的裝置包括
用于為所討論的一個或多個片段的一個或多4^樣點生成與郵可爾M的
裝置;以及
用于使用為采樣點生成的單獨阿爾法iK單拠也執(zhí)行對采樣點或每^N^樣 點的阿爾法測試的驢。
根據(jù)本發(fā)明的第七方面,提供了一種在圖形渲染系統(tǒng)中執(zhí)行阿爾法測試的 方法,其中待渲染的圖形片段最初均把它們與將被用于片段的單個阿爾法值相關(guān)聯(lián),該方纟跑括M以下步驟執(zhí)行對一個或多個片段的阿爾法測試
為所討論的一個或多個片段的一個或多^樣點生成單獨阿爾法值;以及 使用為采樣點生成的單獨阿爾法 與蟲地執(zhí)行對采樣點或^ 樣點的
阿爾法測試。
根據(jù)本發(fā)明的第八方面,提供了一種用于在圖形渲染系統(tǒng)中執(zhí)行阿爾法測 試的系統(tǒng),其中待渲染的圖形片段最初均把它們與將被用于片段的單個阿爾法 值相關(guān)聯(lián),該系統(tǒng)包括
用于為將要經(jīng)歷阿爾法測試的片段或片段組的一個或多個采樣點生成單獨 阿爾法值的裝置;以及
用于使用為采樣點生成的單獨阿爾法 單拠也執(zhí)行對釆樣點或每個采樣 點的阿爾法測試。
正如本領(lǐng)域內(nèi)的技術(shù)人員將會理解的,根據(jù)情況,本發(fā)明的這些方面和實 施例肖, 地包括這里所描述的本發(fā)明的任意一個或多個或所有 和任選 的特征。因此,例如,雌地為所討論的一個或多個片段的多個采樣點中的每
一個生成單獨阿爾法值。同樣,雌i條用上述方式來估計為采樣點生成的單
獨阿爾法值(例如,至少部分地使用為一個或多個片段最初定義或向其分配的 一個或多個阿爾,而生成的)。
同樣, 的是,為其生成制郵可爾雖的采樣點對應(yīng)于用于在光柵化階 段確定基元的覆蓋范圍的采樣點。然而,在這些方案中4頓(例如,如下所述 的,用于觀賦阿爾法測試邊緣的存在)的采樣點不必與在光柵化期間用于測試 待渲染的基元的驢(與否)的采樣點相對應(yīng)。
例如,在這些方案中可以^i也生成一個或齡片段的角(即, 一個或多
個片段的一個或多個角處的采樣點)處的阿爾法值(例如,為了確定阿爾法測 試邊緣是否會經(jīng)過片段)。對于某些應(yīng)用而言,取片段的角處娜可爾法值實際上 可以是更可靠的觀賦。
同樣,采樣點(例如,針對阿爾法測試邊緣的存在的觀賦)不需要^^蟲地 與片段相關(guān)(被攜帶),但是,例如,可以評估多個片段的組或塊,例如,以查 割可爾法測試邊緣是否會經(jīng)過片段塊(其中該塊中的所有片段然后被重新發(fā)布, 從而以超級采樣方式(或不采用該方式)進行處理)。
在這種情況下,在其處生成賴蟲阿爾制直的采樣位置可以,例如,雌地對應(yīng)于作為整體的片段i央或組的多個采樣點(例如,伏^iM應(yīng)于塊的角),但
是,例如,對于塊中的一個或任意給定的單獨片段,可能只有一個(或者實際 上沒有)采樣點。同時,這樣的方案可能特別適合于用于渲染片段塊的渲染系
統(tǒng),如2X2片段塊。
在本發(fā)明的這些實施例和方面中,為了任何期望和合適的目的,能夠4OT 阿爾法值比較(阿爾法測試)。
在特別優(yōu)選的實施例中,如上所述,比較結(jié)果被用于評估阿爾法觀賦引入 的邊緣是否可能經(jīng)過所討論的一個或多個片段。這i^iikil過評估某些但不是 所有采樣點是否通過了阿爾法測試來實現(xiàn)(如上所述,因為如果某些釆樣點通 過(將被保留)但是某些沒有M (將被丟棄),貝據(jù)明阿爾法測試纖會被引 入)。如上所述,最imt也,在jlfc^礎(chǔ)上被發(fā)現(xiàn)包括阿爾法測試邊緣的任何片段 或片段組被重新發(fā)布以用于以完,級采樣方式進行渲染。
阿爾法測試方案的這些方面和實施例也可以用于或作為代替用于其他目 的。例如,如上所述,根據(jù)阿爾法測試的結(jié)果(比較),它們可以被用于保留或 丟棄片段或片段組。
雖然上面已經(jīng)特別參考圖形渲染中阿爾法測試的性能描述了本發(fā)明,但是 申請人:認識到本發(fā)明的原理和技術(shù)也可以應(yīng)用于其他情況和參數(shù),并且不僅僅 是阿爾法值,例如,雌地,其中沒有為特定采樣點或位置最初定義一個或多 W寺定參數(shù)OT性的值,和/或其中定義的值涉及例如給定片段,數(shù)量小于被認 為與片段有關(guān)的采樣點的M。
這可能尤其是以下情況,例如,其中執(zhí)行針對采樣點的保留或丟棄測試, 諸如在圖形處理中的阿爾法觀賦盼瞎況,并且為渲染最初定義的圖形數(shù)據(jù)(例 如,片段屬性)沒有給出將在所討論的特定采樣點處測試的一個或多個相關(guān)參 數(shù)的準確值。
例如,可以在片段著色器中執(zhí)行有關(guān)例如片段的采樣點的濃度,板值的 保留或丟棄測試,但是僅僅存在為片段最初定義的單個濃度或模板值。在這種 情況下,可以采用與上述用于得到阿爾制直的類似方式來得到濃度和/識鎌值, 然后釆用與以上針對阿爾法測試所論述的類似方式在每個采樣點處更準確地執(zhí) 衍農(nóng)度或模板測試(并且采用"反鋸齒"方式)。
因此相信,本發(fā)明倉^l多不僅僅被應(yīng)用于圖形渲染系統(tǒng)中的阿爾法測試。因此,根據(jù)本發(fā)明的另一方面,提供了一種在圖形渲染系統(tǒng)中執(zhí)行參數(shù)測 試的方法,該方 跑括M31以下步驟執(zhí)行對一個或多個片段的參數(shù)測試為所討論的一個或多個片段的一個或多^樣點生成與蟲參數(shù)值;以及 使用為采樣點生成的單獨參數(shù)itt單獨地執(zhí)行對旨采樣點的參數(shù)測試。 根據(jù)本發(fā)明的另一方面,提供了一種用于在圖形渲染系統(tǒng)中執(zhí)行參數(shù)測試 的設(shè)備,該設(shè)備包括用于為一個或多個片段的一個或多個采樣點生成斜蟲參數(shù)值的裝置;以及 用于使用為采樣點生成的單獨參數(shù)值來單獨地執(zhí)行對旨采樣點的參數(shù)測 試的裝置。同樣,根據(jù)本發(fā)明的又一方面,提供了一種^S待顯示的圖像的圖形基元 的方法,該方法包括生成一組圖形片段以用于渲染供顯示的基元;渲染為基元生成的圖形片段,以確定用于^^渲染的圖形片段的渲染片段 薩集;在渲染過程期間,為一個或多個片段的一個或多M樣點生成與蟲參數(shù)值;以及把為采樣點生成的判蟲參數(shù)值用于與采樣點有關(guān)的后續(xù)處理。 根據(jù)本發(fā)明的又一方面,提供了一種用于處理待顯示的圖像的圖形基元的圖形處理系統(tǒng),該系統(tǒng)包括用于生成一組圖形片段以用于渲染供顯示的基元的裝置; 用于渲染為基元生成的圖形片段以確定用于旨渲染的圖形片段的渲染片段 集的裝置;用于在渲染過程期間為一個或多個片段的一個或多個采樣點生成單獨參數(shù) 值的裝置;以及用于把為采樣點生成的單獨參數(shù)值用于與采樣點有關(guān)的后續(xù)處理的裝置。 正如本領(lǐng)域內(nèi)的技術(shù)人員將會理解的是,本發(fā)明的這些方面能夠并且, 地包括這里所描述的本發(fā)明的任何一個或多個^^f有雌的和可選的特征。因此,例如,所討論的特定參數(shù)和測試imt也是阿爾法、濃度和/淑莫板值以及針對一個或多個片段的測試和一個或多M樣點處的測試。同樣,所討論的參數(shù) 測試tt^地被用于確定是否保留或丟棄所討論的采樣點。同樣,針對單3蝶樣點處的所得至慘數(shù)值的測試 地包括,將單獨參數(shù) 值或為采樣點單獨生成的值與一個或多個相應(yīng)參考參數(shù)值進行比較。如果希望,在這些方案中,得到(并測試) ^采樣點處的多于一個參數(shù) 或?qū)傩缘闹狄彩强赡艿?,如得到濃度和模板值,例如,然后?zhí)行針對這兩個參 數(shù)(屬性)等等的比較測試。同樣, 地為所討論的一個或多個片段的多 樣點和域覆蓋的采樣點 中的每一個生成單獨參數(shù)值。同樣, 地采用戰(zhàn)方式來估計為采樣點生成 的^^蟲參數(shù)值(并且,例如 地至少部分地<柳為所討論的片段和域多個片 段初始定義的或者向其分配的一個或多個參數(shù){ 生成)。同樣, 的是,為其生成斜蟲參數(shù)值的采樣點對應(yīng)于在光柵化階鵬于 確定基元的覆蓋范圍的采樣點(不皿不是必需的)。通常,例如,本發(fā)明的這些方面和實施例可以應(yīng)用于可能不具有基元范圍 內(nèi)的己知分布函數(shù)的任何片段屬性(例如,圖形禾i^員能夠禾傭紋理等對其進 行任意操作),由于在該情況下,圖形處理系統(tǒng)可能最初不能得到^^樣點處 的參數(shù)的準確值。同樣,本發(fā)明可以被應(yīng)用于以下任意瞎況,其中在采樣點處 希望或需要給定參數(shù)或?qū)傩缘闹?,但是該采樣點的值尚未被定義。雖然已經(jīng)主要參照單個圖形基元的處理描述了本發(fā)明,如本領(lǐng)域的技術(shù)人 員將會理解的,待顯示的圖像通常由多個基元組成,因此實際上本發(fā)明的方法 將針對組成顯示的每個基元而被重復(fù),以使得最后已經(jīng)為圖像的旨采樣點生 成了一組適當?shù)钠螖?shù)據(jù),所述采樣點是顯示整個圖像(或例如,基于區(qū)塊的 渲染系統(tǒng)中圖像的相關(guān)部分)所需的,所述數(shù)據(jù)然后能夠被例如向下采樣以供顯不o在特別 的實施例中,在單個圖形 平臺上執(zhí)行本發(fā)明的各種功能, 該平臺生成并且輸出被寫至u顯示設(shè)備的幀緩沖器的數(shù)據(jù)。本發(fā)明適用于任何形式或配置的渲染器,如具有"流水線"布置的渲染器 (在該情況下,渲染器將是渲染流水線的形式)。在^fe實施例中,它應(yīng)用于硬 件圖形渲染流水線。會,根據(jù)需要實現(xiàn)本發(fā)明的各種功能和元件等等,例如,iMiikffl過適當?shù)墓δ軉卧?、處理邏輯、處理器、微,器裝置等等。本發(fā)明適用于所有形式的渲染,如立即模式(immediate mode)渲染、延 遲模式渲染、基于區(qū)塊的渲染等等,不過它特別適用于fOT延遲1i式渲染的圖形渲染器并且特別適用于基于區(qū)塊的渲染器。如根據(jù)上文可以理解的,本發(fā)明特別(不過不是排他性地)適用于3D圖形處理器以及處理設(shè)備,因此擴展到3D圖形處理器和3D圖形鵬平臺,其包 括根據(jù)這里所描述的本發(fā)明的任何一個或多個方面的設(shè)備,或根據(jù)這里描述的 本發(fā)明的任何一個或多個方面來操作。受制于執(zhí)行上述的具體功能所需的任何 硬件,這樣的3D圖形處理器能夠另夕卜包括3D圖形處理器包括的任何一個或多 個鰳萬有通常的功能單元,等等。本領(lǐng)域的技術(shù)人員還將會理解的是,所描述的本發(fā)明的所有方面和實施例 都能夠并且優(yōu)選地根據(jù)情況包括這里所描述的任何一個或多個或所有優(yōu)選的和 可選的特征??梢詛柳軟件(例如計對幾禾歸)來至少部分地實現(xiàn)根據(jù)本發(fā)明的方法。 因此1絵看到,當從進一步的方面考慮時,本發(fā)明提供了計算機軟件,所述計 算機軟件在被安裝在 處理體上時特別適于執(zhí)行這里所描述的方法;計算 機程序單元,包括計算機軟fH戈碼部分,所述計穀幾軟倂戈碼部分在所述程序 單元在數(shù)據(jù)處理驢上運行時用于執(zhí)纟豫里所描述的方法;和計^t幾,辦,包 括代碼,,所述代碼,在所述程序在數(shù)據(jù)處理系統(tǒng)上運行時,適于執(zhí)行這 里所描述的一個或多個方法的所有步驟。數(shù)據(jù)處理器可以是微處理器系統(tǒng),可 編程的FPGA (現(xiàn)場可編程門陣列)等等。本發(fā)明還擴展到包括這種軟件的計嶽幾軟件載體,當被用于操作圖形處理 器、渲染器或包括數(shù)據(jù)處理體的微處理器系統(tǒng)時,其與所述數(shù)據(jù)處理體一 起使得所述處理器、渲染器或系統(tǒng)執(zhí)行本發(fā)明的方法的步驟。這樣的計算機軟 件載體可以是諸如ROM芯片、CD ROM鵬盤之類的物理存儲介質(zhì),或者可 以是諸如通過電線的電子信號、光信號或如到衛(wèi)星的無線電信號等等之類的信 號。進一步將會理解的是,并非本發(fā)明的方法的所有步驟都需要3M:計穀幾軟件來執(zhí)行,因此從更廣泛的方面考慮,本發(fā)明提供了計算機軟件,并且這樣的 軟件安裝在計算機軟件載體上以用于執(zhí)t豫里所描述的方法的至少一個步驟。因此本發(fā)明可以被適當具體化為供計^m系統(tǒng)使用的計算機程序產(chǎn)品。這 種實施方式可以包括一系列計算機可讀指令,所述指令或者被固定在諸如計算 機可讀介質(zhì)的有形介質(zhì)上(例如,磁盤、CD-ROM、 ROM或石f^:),或者育嫩頁通過包括但不限于光學或類似通信線路的有形介質(zhì),或通過^^包括但不限于 微波、紅外的無線技械其他傳送技術(shù)而無形地,經(jīng)由調(diào)制解調(diào)器或其他接口 設(shè)備傳送到計算機系統(tǒng)。該一系列的計算機可讀指令包含這里先前描述的所有 或部分功能。本領(lǐng)域的技術(shù)人員^^理解,能夠用多種編程語言來編寫這樣的計^ia可讀指令,以供多種計算機體系結(jié)構(gòu)或操作系統(tǒng)使用。此外,可以使用現(xiàn)在或?qū)?來的任何存儲器技術(shù)來存儲這樣的指令,包括但不限于半導(dǎo)體、磁、或光學, 或者使用現(xiàn)在或?qū)淼娜魏瓮ㄐ偶夹g(shù)來傳送這樣的指令,包括但不限于光學、 紅外或微波??梢灶A(yù)期,這樣的計算機程序產(chǎn)品可以被作為可拆裝介質(zhì)來分發(fā) (其中所附的打印或電子文件,例如,收縮包軟件通過利用計^t幾系統(tǒng)被預(yù)裝在例如系統(tǒng)ROM或固定磁盤上),或^M:網(wǎng)絡(luò)(例如,因特網(wǎng)^維網(wǎng))而從 鄉(xiāng)艮務(wù)器或電子公告板分發(fā)。
將參照附圖僅通過執(zhí)列來描述本發(fā)明的多個 實施例,其中圖1示意性地示出鋸齒的影響;圖2示意性地示出超級采樣反鋸齒技術(shù);圖3示意性i標出待顯示的圖像;圖4示出了在本發(fā)明的實施例中使用的典型采樣模式;圖5示出了育,根據(jù)本發(fā)明操作的圖形處理平臺的實施例;圖6示出了圖3的像素的放大視亂圖7圖示了與本發(fā)明的實施例中待渲染的片段相關(guān)聯(lián)的數(shù)據(jù); 圖8和11示意性販出根據(jù)本發(fā)明娜可爾法測i妨案的實施例;以及 圖9和10示意性J:te出與片段相關(guān)聯(lián)并且作為本發(fā)明的所描述實施例中的 阿爾法測試結(jié)果而被修改的數(shù)據(jù)。
具體實施方式
現(xiàn)在將在處理供顯示的3D圖形的背景中描述本發(fā)明的 實施例。然而, 如本領(lǐng)域的技術(shù)人員將會理解的,本發(fā)明并不限于處理3D圖形,而,具有其 鵬用。如現(xiàn)有技術(shù)中所公知的,并且如上所述,當將要顯示3D圖形圖像時,通 常首先將它定義為一系列基元(多邊形),所述基元然后被劃分(光柵化)成圖形片段以用于依次進行圖形渲染。在一般的3D圖形渲染操作期間,渲染器將修改(例如)與每個片段相關(guān)聯(lián)的顏色(紅色、綠色和藍色,RGB)和透明度(阿 爾法)數(shù)據(jù),以使得會,正確地顯示片段。 一旦片段已經(jīng)完^I過渲染器,則 它們的相關(guān) 據(jù)值被存儲在存儲器中,準備好輸出以供顯示。當顯示圖形圖像時,本發(fā)明特別涉及使反鋸齒操作容易進行。如現(xiàn)有技術(shù) 中所公知的,通過取待顯示的圖像的多個采樣來執(zhí)行反鋸齒,然后將那些采樣 直向下采樣至(J顯示器的輸出分辨率。圖3示意性地示出在當前實施例中使用的基本反鋸齒方案。圖3示意性±也 示出當前實施例中表示待顯示的一部分圖像的像素30的陣列(因為,如下面將 進一步討論的,本發(fā)明是基于區(qū)塊的渲染系統(tǒng))(不過同樣可以認為像素的集合 表示圖像的完整顯示)。如圖3中所示,每個像素包括一組四個采樣點31,所述 采樣點用于采樣所討論的像素的圖像并且從而確定將在最終顯示器上如何顯示 像素。如圖3中所示,相同的采樣模式31被用于像素陣列30中的^S象素。在 該實施例中,采樣模式是旋轉(zhuǎn)網(wǎng)格線采樣模式,不過如果希望,可以使用任何 其{脇當?shù)姆翠忼X采樣模式。圖4示出了單個像素的展開圖,其示出像素內(nèi)采樣模式中采樣點的位置。圖3也以單個基元32的形式示出了像素陣列30上疊加的圖像。(這里應(yīng)該理解的是,為簡單起見圖3中己經(jīng)示出的圖像包括單個基元,并且實際上該圖 像可以并通常將包括許多重疊的基元,如現(xiàn)有技術(shù)中所公知的。)正如育,從圖 3中看到的,基元32完全動[]在像素陣列30中的一些像素上面,但是只經(jīng)過了 某些其他像素的一部分。為了處理圖像的基元32,渲染系統(tǒng)實質(zhì)上將確定在光柵化階段^H象素的 ^^采樣點集合中的哪些采樣點被基元32 ,然后渲染并存儲那些被覆M 樣點的數(shù)據(jù),以使得能夠在顯示設(shè)備,當?shù)仫@示基元32的圖像?,F(xiàn)在將參照圖5來描述當前實施例中采用這種方法顯示基元32的圖像的處 理,圖5示意性ite出能夠根據(jù)本發(fā)明操作的3D圖形處理平臺的實施例。圖5 中所示的3D圖形處理平臺是基于區(qū)塊的渲染器,不過如本領(lǐng)域的技術(shù)人員纟絵 理解的,能夠4OT其他渲染方案(實際上,本發(fā)明也同樣適用于二維圖形處理)。圖5中所示的圖形處理平臺包括光柵器50,該光柵器接收用于渲染的圖形基元并且將基元娜轉(zhuǎn)換成具有用于渲染基元的適當位置的圖形片段。然后存在渲染流7jC線形式的渲染器51,該渲染器從光柵器50接收用于渲 染的圖形片段并且對那些圖形片段應(yīng)用多個渲染操作,例如紋理映射、霧化、 混合等等,以便生成用于顯示片段的適當片段數(shù)據(jù)。來自渲染器51的渲染片段 被存儲到渲染流水線的區(qū)塊緩沖器52中以用于后續(xù)處理。如現(xiàn)有技術(shù)中所公知的,區(qū)塊緩沖器52存儲表示待顯示的圖像部分的片段 數(shù)據(jù)的陣列。 一旦己經(jīng)處理了*區(qū)±央,它的數(shù)據(jù)就被輸出到適當?shù)拇鎯ζ鳎?然后處理下一個區(qū)塊,等等,直到己經(jīng)處理了足夠的區(qū)i姊顯示齡圖像為止。在當前的實施例中,提供了四個區(qū)塊緩沖器52。每個區(qū)塊緩沖器在32X32 陣列中存儲其片段數(shù)據(jù)(即,對應(yīng)于待顯示的圖像中32X32陣列的采,置)。 這些區(qū)塊緩沖器可以被提供為單獨的緩沖器,或者可以實際上都是同一個大緩 沖器的一部分。它們位于圖形處理平臺(芯片)上(在本地)。來自區(qū)塊緩沖器52的 被輸入到向下采樣單元53,并由此輸出至lj顯示 設(shè)備55的幀緩沖器54 (其可以不在圖形處理平臺本身上)以用于在顯示設(shè)備 55上顯示,如現(xiàn)有技術(shù)中所公知的。顯示設(shè)備55可以包括,例如包括像素陣列 的顯示器,如計算IM視器。向下采樣單元53將區(qū)±央緩沖器中存儲的片段數(shù)據(jù)向下采樣到顯示設(shè)備55 的適當分辨率(即,以使得生成與顯示設(shè)備的像素相對應(yīng)的像素數(shù)據(jù)陣列)。在當前的實施例中,圖像的采樣點在區(qū)塊緩沖器32中具有它們自己的單獨 片段翻項。因此,每個32X32M位置區(qū)i央緩沖器將,例如,對應(yīng)于待顯示 的圖像中的16X16像素陣列,在區(qū)i央緩沖器與顯示幀緩沖器之間使用4x向下 采樣(因為在那種情況下,每個像素4賄效地具有與它相關(guān)聯(lián)的四4^樣點)。在該實施例中,四個區(qū)±央緩沖器的兩個被用于存{^ 樣點的顏色(紅 色、綠色、藍色)值(為此目的^頓一個區(qū)塊緩沖器是可能的,但是兩個是優(yōu) 選的), 一個區(qū)塊緩沖器被用于存儲^h^樣點的Z (濃度)值,而一個區(qū)i央緩 沖器皮用于存儲 ^樣點的模板值。當然,其他方案也是可能的。雖然旨采樣點在區(qū)塊緩沖器52中具有它們自己的單獨片段數(shù)據(jù)項,在當 前的實施例中,不是為區(qū)±央緩沖器52中的*斜蟲采樣( )位置渲染斜蟲 的片段(即,為^^斜蟲的采樣點),而是為與圖像中給定像素相對應(yīng)的四^ 樣點的^集合渲染一個片段。換句話說,單個片段被用于一次渲染(并且從而圖像中的像素的) 一組采樣點中的所有四個采樣點,即,以使得給定像素的 采樣點被共同渲染。然后, 一旦已經(jīng)渲染了片段,被渲染的片段數(shù)據(jù)就以多個 拷貝的形式被存儲到區(qū)±央緩沖器52中的適當?shù)牟蓸游恢?,以便為所獲得的圖像 的針單獨的采樹立置提供單獨的片段娜集。因此,在當前的例子中,考慮包括圖3中所示的基元32的圖像,光柵器 50將從圖形處理系統(tǒng)中接收該基元,然后確定圖像的哪些采樣點集合(g卩,實 際上,哪些像素在像素陣列30中)包括由基元32覆蓋的采樣點。(這可以采用 現(xiàn)有技術(shù)中公知的任何適當?shù)姆绞絹韴?zhí)行。)然后,光柵器50為被發(fā)現(xiàn)包括由 基元32所覆蓋的采樣點的 ^采樣點集合生成片段。然后將這些片段傳送至隨 染器51以用于渲染。圖7示意性地示出了在每個片段被渲染之前為其生成的并且經(jīng)過渲染器51 的翻70。如圖7中所示,與針片段相關(guān)聯(lián)的數(shù)撤寺另抱括片段的x,y位置 71 (它表示與片段相對應(yīng)的采樣點集合的圖像中的矽位置(實際上在圖像中的 相關(guān)像素的當前實施例中)),連同所必要的每片段數(shù)據(jù)72,如片段的顏色 (RGB)、透明度(阿爾法)、濃度(z)以及模板值。如現(xiàn)有技術(shù)中所公知的, 該每片段數(shù)據(jù)72由渲染器51的渲染單元使用并且進行適當修改,以便為片段 提供片段 的輸出集合,然后將其存儲在區(qū)±央緩沖器52中。與片段相關(guān)聯(lián)的 70還包括覆蓋掩碼73,該掩碼采用位陣列的形式, 表示與片段相對應(yīng)的采樣點集合內(nèi)每 樣位置。在光柵化階段,如果發(fā)現(xiàn)對 應(yīng)的采樣位置由所討論的基元覆蓋,貝啦陣列覆蓋掩碼73中每個位置被設(shè)置為 "1",而如果采微置不由所討論的基元覆蓋,則被設(shè)置為"0"。逸就使得渲染 過程知道與給定片段相關(guān)聯(lián)的哪些采樣點實際上被所討論的基元32覆蓋,以使 得渲染過程能夠確保片段的片段渲染數(shù)據(jù)只被用于(例如,存儲)由基元覆蓋 的采樣點。因為,如會詢多從圖3看到的,并非像素的一組采樣點的所有采樣點都必定 由基元覆蓋。例如,如圖6中所示,圖6示出了圖3中涉及待渲染的基元32的 像素33的采樣點集合的放大視圖,會,看至U像素33的釆樣點集合、采樣點43 和44被基元32覆蓋,但^樣點45和46沒有被基元覆蓋。因此,光柵器50 將為像素33的采樣位置集合生成用于渲染的片段,這是因為i^^樣位置集合包 括被基元32覆蓋的兩個采樣位置43, 44。然而,因為基元32只覆^,置43, 44,所以只針對那些采樣位置(而不針對采^j立置45和46),將渲染的片 段 存儲在區(qū)塊緩沖器52中。
因此,對于圖6中所示的像素33的采微置集合,光柵器將生成"1100" 形式的覆蓋掩碼73 (如圖7中所示的),用于指示片段70正在渲染采,置43 和44,但是片段不渲染采樣位置45和46 (由于它們沒有被^元32覆蓋)。
因此,當光柵器50接收用于渲染的基元32時,它將首先確定陣列30的哪 些采樣點(像素)集合包括被基元32驢的采樣點,并且為那些采樣點集合中 的^^合生成具有與圖7中所示形式的數(shù)據(jù)相關(guān)聯(lián)的片段。
然后每個片段將依次被傳到渲染器51以用于渲染。在當前的實施例中,片 段被發(fā)送到渲染器51以用于在2X2片段的塊中渲染,艮卩,以使得渲染引擎有 效地處理4個片段(像素)塊中2個像素寬度乘以2個像素高度的片段(像素)。 當然,其他方案也是可能的,例如在渲染器中逐一地處理片段(像素)。
如現(xiàn)有技術(shù)中所公知的,渲染器51將對它接收至啲片段執(zhí)fr渲染操作。例 如,這些渲染操作將包括修改片段的顏色(RGB)和透明度(A)值,以便為 齡片段提供最終的、渲染的片段 。在當前實施例中,渲染器51包括根據(jù) 與旨片段相關(guān)聯(lián)的紋理位置數(shù)據(jù)(s,t)(這在圖7中沒有被示出)執(zhí)行紋理映 射過程的紋理映射階段。
在當前實施例中,根據(jù)正用片段共同渲染的被覆蓋的采樣點的圖像中的區(qū) 位(位置)皿擇紋理映射過程確定將被應(yīng)用于片段的紋理(顏色)所需的圖 像中的位置,艮口, 4頓"加權(quán)的"紋S^樣位置。
當然,其他紋M^^立置方案也是可能的。例如,可以在所討論的采樣圖 案的中心處簡單采取全部紋理查找。
這里應(yīng)當理解的是,因為每個片段經(jīng)歷了一次紋理查找,所以與齡片段 相對應(yīng)的采樣點集合經(jīng)歷了一次共同的紋理查找(即,紋理操作被用于與片段 相關(guān)聯(lián)的采樣點集合的所有采樣點),即,采用多次采樣方式來有效地處S^樣 點集合。
當前實施例的渲染過程的另一部分是,執(zhí)行針對正被渲染的每個片段的阿 爾法測試。如現(xiàn)有技術(shù)中所公知的,阿爾法測試通常包括將為片段定義的阿爾 法值與為阿爾法觀賦定義的參考或臨界阿爾法值進行比較,然后根據(jù)比較結(jié)果 來保留或丟棄片段。在當前實施例中,根據(jù)本發(fā)明修改阿爾法測試過程,以便提供,如這里所 述的,"反鋸齒"阿爾法測試過程,然而實際上每個片段可能最初僅具有為它定 義的單個阿爾法值,如上所述。
圖8、 9、 10和ll圖示了當前實施例的阿爾法測試ilf呈。 圖8示意性地示出了與圖3的像素80、 81、 82和83相對應(yīng)的像素80、 81、 82、 83的2X2i央。圖8中的線84和85對應(yīng)于基元84, 85的,,如圖3中 所說明的。圖8g出了像素80、 81、 82和83中每一個的相應(yīng)的采樣點。圖8 中,示出了每個片段的中心點87、 88、 89、 90。
如上所述,在最初的光柵化階段,對照像素80、 81、 82和83中的每一個 來測試基元的幾何纖84、 85,以便確定^^像素的哪些采樣點被基元鶴。 然后生成一組片段,旨片段對應(yīng)于顯示器中的給定像素,并且為像素定義適
當?shù)臄?shù)據(jù)并且還為各像素指示哪些采M:置被^^覆蓋。
因此,在當前情況下,如圖9中示意性ite出的,在光柵化階段,為像素 80、 81 、 82禾n 83的2 X 2塊生成一組片段80、 81 、 82和83 。
如圖9中所示,片段80的覆蓋掩碼73示出了被基元覆蓋的與片段80相對 應(yīng)的像素的兩個采樣位置,片段81的覆蓋掩碼73示出了被覆蓋的該像素的三 ^^樣位置,等等。
同樣如圖9中所示,旨相應(yīng)片段80、 81、 82和83具有為它最初定義的 單4St明度(阿爾法)值。在當前的實施例中,從為基元的頂點定義的阿爾法 值得到該值,但是育^以現(xiàn)有技術(shù)中公知的任何適當?shù)姆绞絹韺崿F(xiàn)。
在當前的例子中,假設(shè)片段80的透明度(阿爾法)值是0.3,片段81的是 1.0,片段82的是0.0而片段83的是0.3。當然,這,僅僅是說明性的。
在通常的過程中,如上所述,為了比較的目的,將使用為每個片段定義的 這些阿爾法值與為阿爾法觀賦定義的參考阿爾法值進行比較,以便根據(jù)阿爾法 測試的結(jié)果旨保留或丟棄片段(以及因此,與片段相對應(yīng)的像素)。
然而,在當前的實施例中,根據(jù)本發(fā)明,當執(zhí)行阿爾法測試時,不是僅僅 采用為每個片段最初定義的阿爾法值,行阿爾法測試,而是針對所討論的片 段正被用于渲染的每個被覆蓋的采樣位置生成單獨阿爾法值。然后,執(zhí)行針對 制i^樣位置的阿爾法測試。
將針對片段80的采樣點86的阿爾法值的得至據(jù)說明該過程。針對所討論的片段的由基元覆蓋的^單^^樣點應(yīng)用相同的過程。
為了為片段80的采樣點86生成單獨阿爾法值,首先取為片段80最初定義 的單個阿爾法值0.3作為片段80的中心87處的阿爾,。
然后,估計采樣點86與片段80的中心87處的阿爾雖之間的差。Sffl31 估計阿爾法值相對于屏幕X, Y位置的斜率(導(dǎo)數(shù))(然后,使用采樣點86與 片段80的中心87之間已知的相對屏幕X, Y距離,所述斜率育,被用于得到 從中心87到采樣點86阿爾法值的相對變化)來實現(xiàn)。
在當前實施例中,通過以下步驟確定阿爾法值相對于位置的斜率(變化率), Mil確定片段80的中心87處的阿爾法值與片段81的中心88處的阿爾SH之 間的差(其被用作為片段81定義的阿爾法值1.0)以及中心87和88之間X方 向上的己知屏幕距離,來得到X方向上阿爾,的斜率。
同樣,通過識別片段80的中心87處的阿爾雖與片段82的中心89處的 阿爾雖之間的差(其被用作為片段82定義的阿爾雖0.0),以及片段中心之 間的Y距離,來確定片段80在Y方向上阿爾法值的斜率(變化率)。
然后,這些生成的X和Y導(dǎo)數(shù)(變化率)乘以片段80的中心87與采樣點 86之間的屏幕空間X和Y距離,以便給出從中心87到采掙位置86的阿爾M 變化。然后,該估計的阿爾,的變化加上片段80的中心點87的阿爾法值(即, 當前實施例中為片段80最初定義的阿爾法值),從而得到采樣位置86的"真正" 阿爾^it的估計。
然后,為片段80的每個剩余的覆^^M:置重復(fù)這^lf呈,并且同樣為其 他片段的覆誠樣位置重復(fù)這個過程(雖然,在這種情況下,^ffi為片段分別 最初定義的阿爾法值作為其他片段中心點處的阿爾法值因此,例如,在片段 81的情況下,片段中心88娜可爾法值被用作為片段81最初定義的阿爾法值 1.0)。
圖11進一步圖示了阿爾法值的得到過程。如圖11中所示,對于給定的片 段100具有采樣位置101、 102、 103、 104,為片段最初定義的阿爾M 105被 用作片段中心106處的阿爾法值,得到x和y方向上片段的梯度(德爾塔A ) 107、 108,然后將其與中心點娜可爾、雄105 —起4柳以給出針相應(yīng)采樣點 的阿爾法值。
如果希望,可以使用其他方案來得到并估計旨被覆^^樣位置的阿爾法值。
例如,當估計阿爾纟,時,可以采用類似的方式為每個片段單獨地生成一
組新的梯度(變化率)值,而不是使用為片段80、為2X2的片段塊的齡其他 片段81、 82和83得到的X和Y方向上的梯度(變化率)。
因此,例如,在片段81的情況下,可以通過考慮片段80的中心87和片段 81的中心88處的阿爾法皿得到X梯度,并且可以通31考慮片段81的中心88 和片段83的中心90處的阿爾法 得到Y(jié)梯度。
例如,4頓片段81的中心88和片段83的中心90處的阿爾^t^得到片 段80等等的Y梯度也是可能的。同樣,如果希望,可以使用比圖8中所示的那 些相隔更遠的片段的阿爾雖來得娜可爾法梯度。
通常,可以〗頓任何合適的和期望的技術(shù)來得到阿爾^I相對于屏幕空間 X和Y距離的的梯度(變化率)。越復(fù)雜的技術(shù)可以提供對采樣點處的阿爾, 的越準確的估計,但是另一方面會需要更大的處理工作量。
然后,為針采樣位置估計的單獨阿爾法值l細于阿爾法觀賦比較,艮卩, 它們與為阿爾法觀賦定義的臨荊可爾雖相比較。因此,例如,在采微置86 的情況下,為該采樣位置估計的阿爾SH然后與為阿爾法觀賦定義的參考阿爾 、^4tt進行比較。然后分別針對^t被覆蓋的采,置重復(fù)該過程。
然后,單3蝶樣點的阿爾法觀賦比較的結(jié)果被用于根據(jù)阿爾法觀賦比棘 保留采樣位置或從進一步的處理中丟棄采樣位置。iMii修改與所討論的片段 相關(guān)聯(lián)的覆蓋掩碼73來實現(xiàn),以便排除作為阿爾法觀賦的結(jié)果而實際上發(fā)現(xiàn)將 被丟棄的任何被覆蓋的采樣點。
圖10中圖示了該^lf呈,圖10示出了執(zhí)行阿爾法測試之后圖9中所示的片 段80、 81、 82和83的結(jié)果片段數(shù)據(jù)集,在當前的例子中,假設(shè)阿爾法觀賦比 較產(chǎn)生一條線(實際上是阿爾法測試弓l入的邊緣)91,其上是作為阿爾法測試 的結(jié)果而將被丟棄的采樣點,但是其下是被保留的采樣點。
如圖9中所示,該阿爾法測試以及產(chǎn)生阿爾法觀賦弓l入的邊緣91的阿爾法
臨界值的結(jié)果是M將^^樹立置的覆蓋掩碼位從"1"變?yōu)?0",來修^t 段80的覆蓋掩碼,以便表示從進一步的處理中排除采樣點86 (g卩,沒有M阿 爾法測試)。同樣,關(guān)于片段81,該片段的鶴掩碼現(xiàn)在被體成"0000",這 是因為阿爾法測試已經(jīng)丟棄了基元覆蓋的片段的所有采樣位置。在片段83的情況下,阿爾法測試丟棄兩^樹立置,因此該片段的覆蓋掩碼變?yōu)?1001"。
采用這種方式,執(zhí)行針對每個相應(yīng)覆蓋的采樹立置的斜蟲阿爾法測試,盡管實際上僅僅為作為整體的像素的四個采樣位置的集合定義了單個初始阿爾法值,然后育,根據(jù)單獨的阿爾法觀賦的結(jié)果來保留或丟棄采樣位置。于是其效果是,阿爾法測試弓i入的任何纖實際上是"反鋸齒的"(因為頓樹立置的層面根據(jù)它們的位置對它們進行了處理)。
—旦已經(jīng)渲染了片段,它們的數(shù)據(jù)需要被適當?shù)卮鎯υ趨^(qū)塊緩沖器52中。根據(jù)當前的實施例,*渲染片段的 被存儲在區(qū)塊緩沖器陣列中的適當釆
微置(一個或多個),由與*片段相關(guān)聯(lián)的覆蓋掩碼73 *^。因此,在圖7中所例示的片段70的情況下,例如,該片段的渲染數(shù)據(jù)將被存儲在區(qū)塊緩沖器52中與片段70相關(guān)聯(lián)的兩個采,置,而不是其他兩^h采樣位置。
區(qū)土央緩沖器52中存儲的片段數(shù)據(jù)包Jg^h采,置的顏色(RGB)、透明度(A)、濃度(Z)和模板值,如上所述。該數(shù)據(jù)能夠以任何適當?shù)男问絹泶鎯Α?br>
如本領(lǐng)域的技術(shù)人員將會理解的是,將要存儲在區(qū)塊緩沖器的新渲染的片段數(shù)據(jù)可能并且通常需要與區(qū)塊緩沖器中已經(jīng)存儲的數(shù)據(jù)混合,如現(xiàn)有技術(shù)中所公知的。因此,給定片段正被用于共同渲染多于一個采樣位置(g卩,以使得來自片段的數(shù)據(jù)將被存儲在區(qū)±央緩沖器中的多個采樣^a),然后應(yīng)當采用適當?shù)姆绞綀?zhí)行該混合操作以便實現(xiàn)這一點,艮卩,將新渲染片段數(shù)據(jù)適當?shù)鼗旌系絽^(qū)塊緩沖器中的針適當采樣位置中。因此,例如,可以采用適當?shù)?并行"方式執(zhí)行例如混合操作,以便將渲染片段數(shù)據(jù)混合到多個并行區(qū)±央緩沖器中。
一旦已經(jīng)完成了與基元32相關(guān)的所有片段的該過程,然后就能夠為圖像的后續(xù)基元重復(fù)該)^呈(因為,如上所述,圖像通常將由多個基元組成,而不僅僅是單個基元32)。為圖像的所有基元重復(fù)該斑呈,直到區(qū)i央緩沖器52具有在它們的采微置的每一個中存儲的適當娜。
然后,在區(qū)塊緩沖器中存儲的 會,被輸出到向下采樣單元53以用于向下采樣并且之后輸出到幀緩沖器54以供顯示,如現(xiàn)有技術(shù)中所公知的??梢圆捎萌魏芜m當?shù)姆绞綀?zhí)行該向下采樣。在當前實施例中,數(shù)據(jù)的線性混合被用于對其進行向下采樣。然而,如果希望,其他方案也是可能的。
待顯示的圖像包括多個重疊的基元,如現(xiàn)有技術(shù)中所公知的,它對于渲染過程也是必需的,以便確定實際上在給定采樣點處是否確實會看到任何給定的基元。在當前實施例中,如現(xiàn)有技術(shù)中所公知的,這是通過在片段被渲染時比較片段的濃度(Z)值來實現(xiàn)的。特別地,當新片段將被渲染時,與該片段相關(guān)聯(lián)的濃度(Z)值與巳經(jīng)存儲在區(qū)塊緩沖器52中的與片段相對應(yīng)的采^j立置的片段數(shù)據(jù)的濃度值相比較,并且如果比較結(jié)果指示看不到新片段,則不再進一步處理新片段。另一方面,如果濃度值的比較結(jié)對旨示實際上將在區(qū)塊緩沖器
52中當前存儲片段的位置看至噺片段,則新片段被渲染并且它的渲染片段纖
被存儲在區(qū)塊緩沖器52中,代替現(xiàn)有的適當采樣位置的數(shù)據(jù)。
向下采樣單元53艦輸出到幀緩沖器54的娜應(yīng)用適當?shù)馁が斝U?。當然,對本發(fā)明和當前實施例的其他安排和修改也是可能的。例如,對于
阿爾法測試和/或阿爾法值估計,就每個片段或像素而言可以使用多于四個釆樣位置。
在當前實施例中還可以使用估計的阿爾法測試來評估阿爾法測試引入的邊緣是否可能經(jīng)過片段或片段塊。例如,在圖8所示的方案中,有關(guān)片段83的阿爾法測試比較的結(jié)果,例如,示出了兩個采樣位置被保留,但是兩個采樣位置被丟棄。然后,這將指示阿爾法觀賦弓l入的邊緣將經(jīng)過該片段。關(guān)于這種類型的測試,還可以執(zhí)行關(guān)于片段的角的測試,而不是例如使用與用于基元的外部幾何 的光柵化相同的釆樣位置。
在這種方案中,如果發(fā)現(xiàn)片段或片段±央可能包含阿爾法測試引入的纖,則在im的實施例中,基于完全的超級采樣,優(yōu)^i也重新發(fā)布所討論的片段或片段塊以用于渲染(換句話說,以使得旨采樣位置被處理為單獨的片段,并且因此獲得它自己的單3繊色柳可爾纟雄,等等)。
如能夠從上面看到的,至少在本發(fā)明的 實施例中,提供了一種系統(tǒng),在該系統(tǒng)中,阿爾法測試引入的邊緣育,被反鋸齒,但是不需要采用完全的超級采樣方式來處理待渲染的基元。例如,不像完全的超級采樣方法,本發(fā)明的方法不需要針對反鋸齒阿爾法測試方案的旨像素或片段計算多個顏色值。這意味著,例如,與完全的超級采樣系統(tǒng)相比,本發(fā)明促進了處理中的計算的減少,并且伴隨著節(jié)能。
至少在本發(fā)明的雌實施例中,這^Mil以下步驟來實現(xiàn)的{頓為待渲染的每個片段最初定義的單個阿爾法M為有關(guān)待渲染的片段的多個單獨采樣點重新創(chuàng)建與郵可爾法值,然后與蟲地執(zhí)行針對那些斜^l樣點的阿爾法測試。如上所述,雖然已經(jīng)特別參照圖形處理系統(tǒng)中的阿爾法測試描述了本發(fā)明和當前的實施例,本發(fā)明同樣能夠應(yīng)用至唭他場合,其中希望知道特定采樣點處的屬性或參數(shù)值而那些值尚未被定義。因此,例如,它可能特別用于圖形處理系統(tǒng)中的濃度和/謝莫板測i纖作,如在片段著色器中。在這些瞎況下,就所討論的一個或多個特定參數(shù)而言,上述針對阿爾法測試所描述的方法和技術(shù)能夠類似地被應(yīng)用。
權(quán)利要求
1、一種在圖形渲染系統(tǒng)中執(zhí)行阿爾法測試的方法,所述方法包括通過以下步驟執(zhí)行對一個或多個片段的阿爾法測試為所討論的一個或多個片段的一個或多個采樣點生成單獨阿爾法值;以及使用為采樣點生成的單獨阿爾法值來單獨地執(zhí)行對每個采樣點的阿爾法測試。
2、 如權(quán)利要求1所述的方法,其中為其生成與郵可爾法值的采樣點對應(yīng)于用于在光柵化階段確定基元的覆蓋范圍的采樣點。
3、 如權(quán)利要求1或2所述的方法,其中采樣點用于一組多個片段。
4、 一種處理待顯示的圖像的圖形基元的方法,所述方飽括生成一組圖形片段以用于渲染供顯示的基元;渲染為基元生成的圖形片段以確定用于每個渲染的圖形片段的渲染片段數(shù) 據(jù)集;以及作為渲染過程的一部分,執(zhí)行針對一個或多個片段的阿爾法測試;其中 fflil以下步驟來執(zhí)4亍阿爾法測試為所討論的一個或多個片段的一個或多M樣點生成與蟲阿爾法值;以及 使用為采樣點生成的單獨阿爾法ftt與魁也執(zhí)行對已經(jīng)為其生成了阿爾法 值的*采樣點的阿爾法測試。
5、 如權(quán)利要求l到4中任一項所述的方法,包MM根據(jù)與所討論的片段 相關(guān)聯(lián)的阿爾法值估計每個采樣點處的阿爾法值,來為采樣點生成單獨阿爾法 值。
6、 如權(quán)利要求i到5中任一項所述的方法,包括j頓為戶;fi寸論的片段定義 的阿爾法值以及為所討論的片段的一個或多個相鄰片段定義的一個或多個阿爾 皿,來為采樣點生成阿爾法值。
7、 如權(quán)利要求l到6中任一項所述的方法,其中阿爾雖的比較被用于確 定是否丟棄采樣點。
8、 如禾又利要求1到7中任一項所述的方法,包括將每個片段與指示片段正 被用于渲染哪些采樣點的數(shù)據(jù)相關(guān)聯(lián),并且使用阿爾法測試的結(jié)果來修改該數(shù) 據(jù)以指示作為阿爾法觀賦的結(jié)果而將被丟棄的采靴置。
9、 如權(quán)利要求1到8中任一項所述的方法,包括使用對單獨采樣位置的阿 爾法測試來評估阿爾法測試引入的邊緣是否可以經(jīng)過所討論的一個或多個片 段。
10、 一種在圖形渲染系統(tǒng)中執(zhí)行參數(shù)測試的方法,所述方、跑括通過以下步驟執(zhí)行對一個或多個片段的參數(shù)測試為所討論的一個或多個片段的一個或多個采樣點生成斜蟲參數(shù)值;以及f柳為釆樣點生成的單獨參數(shù)1I^單獨地執(zhí)行對針采樣點的參數(shù)測試。
11、 一種處理待顯示的圖像的圖形基元的方法,所述方纟跑括生成一組圖形片段以用于渲染供顯示的基元;渲染為基元生成的圖形片段以確定用于每個渲染的圖形片段的渲染片段數(shù)據(jù)集;為一個或多個片段的一個或多個采樣點生成與蟲參數(shù)值;以及 把為采樣點生成的單獨參數(shù)值用于與采樣點有關(guān)的后續(xù)處理。
12、 一種用于在圖形渲染系統(tǒng)中執(zhí)行阿爾法測試的系統(tǒng),所述系統(tǒng)包括用于為將要經(jīng)歷阿爾法觀賦的片段或片段組的一個或多個采樣點生成單獨 阿爾法值的裝置;以及用于使用為采樣點生成的單獨阿爾法皿單獨地執(zhí)行對每4^樣點的阿爾 法測試的裝置。
13、 如權(quán)利要求12所述的系統(tǒng),其中為其生成^^阿爾雖的采樣點對應(yīng) 于用于在光柵化階段確定基元的覆蓋范圍的采樣點。
14、 如權(quán)利要求12或13所述的系統(tǒng),其中采樣點用于一組多個片段。
15、 一種用于處理待顯示的圖像的圖形基元的系統(tǒng),所縣統(tǒng)包括 用于生成一組圖形片段以用于渲染供顯示的基元的裝置; 用于渲染為基元生成的圖形片段以確定用于旨渲染的圖形片段的渲染片段數(shù)據(jù)集的裝置;以及用于作為渲染過程的一部分而執(zhí)行針對一個或多個片段的阿爾法須賦的裝 置;其中用于執(zhí)行阿爾法觀賦的裝置包括用于為所討論的一個或多個片段的一個或多個采樣點生成單獨阿爾M的 裝置;以及用于使用為采樣點生成的單獨阿爾法€*單嫩也執(zhí)行對^ 樣點的阿爾法測試的裝置。
16、 如禾又利要求12到15中任一項所述的系統(tǒng),包括用于通過根據(jù)與所討 論的片段相關(guān)聯(lián)的阿爾法值估計每個采樣點處的阿爾法值來為采樣點生成單獨 阿爾雖的裝置。
17、 如權(quán)禾腰求12到16中任一項所述的系統(tǒng),包括用于4頓為所討論的 片段定義的阿爾法值以及為所討論的片段的一個或多個相鄰片段定義的一個或 多個阿爾&€來為采樣點生成阿爾法值的裝置。
18、 如權(quán)利要求12到17中任一項所述的系統(tǒng),其中阿爾法值的比較被用 于確定是否丟棄采樣點。
19、 如權(quán)利要求12到18中任一項所述的系統(tǒng),包括用于將針片段與指 示片段正被用于渲染哪些采樣點的數(shù)據(jù)相關(guān)聯(lián)的裝置,以及用于使用阿爾法測 試的結(jié)果來修改該數(shù)據(jù)以指示作為阿爾法測試的結(jié)果而將被丟棄的采樣位置的 裝置。
20、 如權(quán)禾腰求12到19中任一項所述的系統(tǒng),包括用于4頓對單3蝶樣 位置的阿爾法測試來評估阿爾法觀'賦引入的邊緣是否可能經(jīng)過所討論的一個或 多個片段的裝置。
21、 一種用于在圖形渲染系統(tǒng)中執(zhí)行參數(shù)測試的設(shè)備,所述設(shè)備包括用于為一個或多個片段的一個或多個采樣點生成與蟲參數(shù)值的裝置;以及 用于使用為采樣點生成的單獨參數(shù)值來單獨地執(zhí)行對m^采樣點的參數(shù)測 試的裝置。
22、 一種用于處理待顯示的圖像的圖形基元的系統(tǒng),所述系統(tǒng)包括 用于生成一組圖形片段以用于渲染供顯示的基元的裝置; 用于渲染為基元生成的圖形片段以確定用于旨渲染的圖形片段的渲染片段W集的驢;用于為一個或多個片段的一個或多個采樣點生成斜蟲參數(shù)值的裝置;以及 用于把為采樣點生成的單獨參數(shù)值用于與采樣點有關(guān)的后續(xù)處理的裝置。
23、 一種計算機程序單元,包括計算機軟俗鄰馬部分,所述計飾軟俗戈 碼部分在程序單元在數(shù)據(jù)處理裝置上運行時,用于執(zhí)4于如禾又利要求1到11中任一項所述的方法。
24、 一種如這里參照任意一個附圖充分描述的在圖形渲染系統(tǒng)中執(zhí)行參數(shù) 測試的方法。
25、 一種如這里參照任意一個附圖充分描述的處理圖形基元的方法。
26、 一種如這里參照任意一個附圖充分描述的用于在圖形渲染系統(tǒng)中執(zhí)行 參數(shù)測試的設(shè)備。
27、 一種如這里參照任意一個附圖充分描述的用于處理圖形基元的系統(tǒng)。
全文摘要
本發(fā)明涉及用于處理計算機圖形的方法和設(shè)備。當把阿爾法測試作為多次采樣圖形處理流水線中的渲染過程的一部分來執(zhí)行,而不是取為每個片段80、81、82、83初始定義的單個阿爾法值時,針對所討論的片段正被用于渲染的每個被覆蓋的采樣位置來生成單獨阿爾法值。然后,把為每個采樣位置估計的單獨阿爾法值與為阿爾法測試定義的臨界阿爾法值單獨地進行比較,并且該阿爾法測試比較的結(jié)果被用于確定是保留采樣位置還是將其從進一步的處理中丟棄。
文檔編號G06T15/50GK101533522SQ20091013465
公開日2009年9月16日 申請日期2009年2月1日 優(yōu)先權(quán)日2008年1月31日
發(fā)明者J·尼斯塔德 申請人:Arm挪威股份有限公司