專利名稱:計算機圖形處理的制作方法
技術(shù)領域:
本發(fā)明涉及計算機圖形處理,并特別地涉及一種用于當處理計算機圖形時執(zhí)行反鋸齒的方法和設備。
背景技術(shù):
將專門參考三維圖形處理來描述本發(fā)明,盡管如本領域技術(shù)人員所理解的,其還可等效地應用于二維圖形的處理。當顯示計算生成的圖像時遇到的一個問題在于,所顯示的圖像被量化成所使用的顯示器,例如監(jiān)視器或打印機的離散像素位置。這限制了所顯示圖像的分辨率并可產(chǎn)生不想要的視覺偽像,例如,在輸出顯示設備的分辨率對于顯示平滑直線不夠高的情況。這些效應通常被稱之為“鋸齒”。圖1說明了這種鋸齒效應。圖1的左邊示出了要繪制的圖像,并且右邊示出實際顯示的圖像。如圖所示,白色對象的想要的平滑曲線在顯示器上實際具有鋸齒狀的外觀。這就是鋸齒。(在圖1中,每個正方形表示顯示器的像素,并且十字標表示處于每個(X,y)像素位置的點,為所述點確定(采樣)該像素位置的顏色值。例如,圖1中的像素A被繪制為全白色,因為該像素位置的顏色采樣點落在白色對象內(nèi)。應當注意,在圖1中,只示出感興趣像素上的樣本十字標,盡管實際上可以采樣所有像素。)可通過利用足夠高的分辨率顯示器來移除所有鋸齒偽像。但是,電子顯示器和打印機的分辨率通常受限制,因此許多圖形處理系統(tǒng)使用其它技術(shù)來嘗試去除或降低鋸齒效應。這種技術(shù)通常稱之為反鋸齒技術(shù)。—種已知的反鋸齒技術(shù)被稱為超采樣或過采樣。在這種方案中,為顯示的每個像素位置取得多個顏色樣本,并且所述多個樣本接著在顯示像素時被合并為單個顏色。這具有平滑或平均來自所涉及像素位置處原始圖像的顏色值的效果。圖2說明超采樣過程。在圖2所示的例子中,為顯示器中的每個像素確定四個顏色值(樣本點)。(每個這樣的樣本實際上可被看作為“子像素”,顯示器中的每個像素由四個這樣的子像素構(gòu)成。)給定像素的四個顏色值樣本(子像素)接著被組合(下過濾 downfilter),使得用于顯示器中該像素的最終顏色是該像素所取得的四個顏色樣本的顏色的適當平均(混和)。這具有平滑所顯示圖像的效果,并且例如通過用中間的顏色陰影圍繞鋸齒偽像來降低鋸齒偽像的突出。這可以在圖2中看到,其中像素A現(xiàn)在具有兩個“白色”樣本和兩個 “黑色”樣本,并因此在所顯示圖像中被設置為50% “白色”。以這種方式,白色對象邊緣周圍的像素被模糊,以例如基于發(fā)現(xiàn)有多少樣本落在邊緣的每條邊上來產(chǎn)生更光滑的邊緣。實際上,超采樣以比對于顯示器所實際使用的分辨率要高得多的分辨率來處理屏幕圖像,并接著在顯示所處理的圖像之前縮放和過濾(下采樣)所處理的圖像到最終的分辨率。這具有為改進的圖像提供鋸齒偽像減少的效果,但需要更強的處理能力和/或更多的時間,因為圖形處理系統(tǒng)實際上必須處理與樣本一樣多的像素(使得,例如對于4x超采樣(即在為每個像素位置取得四個樣本的情況),處理請求將是沒有超采樣時的四倍。)其它反鋸齒技術(shù)因此已經(jīng)被提出,這些技術(shù)在仍然提供圖像質(zhì)量的一些改進的同時還具有比超采樣更少的處理要求。一個通常的這種技術(shù)被稱為“多采樣”。在多采樣中,對每個將組成最終顯示的像素也取得多個樣本,但不是為每個樣本確定單獨的顏色值,而是確定單個顏色值,并將其應用到像素的所有樣本,這些樣本被發(fā)現(xiàn)屬于最終圖像中的相同對象。換句話說,多采樣為景物中的給定對象的給定像素計算單個顏色值,該顏色值被提供給(重用于)由該對象覆蓋的像素的所有樣本(子像素)(與超采樣作為對比,其中為每個樣本確定單獨的顏色值)。由于只有單個顏色值用于給定像素的多個樣本,所以多采樣不如超采樣那么得處理密集,且因此允許比超采樣更快的處理和性能。但是,相比于超采樣,顯示的圖像質(zhì)量有所降低,因為盡管對象的邊緣仍然以更高的分辨率采樣,但顏色沒有。如本領域已知的,3D圖形處理通常通過首先將要顯示的景物拆分成多個類似的基礎部件(所謂的“圖元”)來執(zhí)行,以允許3D圖形處理操作被更容易地執(zhí)行。這些“圖元” 通常是簡單的多邊形的形式,比如三角形,并且通常通過定義其頂點來描述。一旦要顯示的景物已經(jīng)被劃分成多個圖形圖元,如本領域所知的,則圖形圖元通常被進一步劃分為離散的圖形實體或元素,通常稱為“片斷”,對該片斷執(zhí)行實際的圖形處理操作(比如渲染操作)。每個這種圖形片斷將表示且對應于圖元中給定的位置,并且實際上包括用于所涉及位置的數(shù)據(jù)集(比如顏色和深度值)。每個圖形片斷(數(shù)據(jù)元素)通常對應于在最終顯示器中的單個像素(圖片像素) (因為當像素是要顯示的最終圖片中的奇異點,所以在3D圖形處理器操作的“片斷”和顯示器中像素之間通常存在一對一的映射。)。但是,可能有“片斷”和“像素”之間不存在直接對應關(guān)系的情況,例如在顯示最終圖像之前對所渲染圖像執(zhí)行特殊形式的后處理,比如縮因此,一般執(zhí)行的3D圖形處理的兩個方面是“柵格化”圖形“圖元”(或多邊形) 位置數(shù)據(jù)為圖形片斷位置數(shù)據(jù)(即確定圖形片斷的(x,y)位置以用于表示要顯示的景物中的每個圖元),并且接著“渲染”“柵格化的”片斷(即,對片斷上色、明暗處理等)以便在顯
示屏幕上顯示。(在3D圖形文獻中,術(shù)語“柵格化”有時用來指到片斷的圖元轉(zhuǎn)換以及渲染。但是,這里“柵格化”將用來僅僅指將圖元數(shù)據(jù)轉(zhuǎn)換為片斷地址)。柵格化過程主要地涉及為顯示器中的每個像素的采樣點(或正執(zhí)行超采樣或多采樣的多個采樣點)確定所涉及的圖元是否覆蓋該采樣點(或多個采樣點)。接著生成具有近似(x,y)坐標位置的一個或多個片斷,以渲染由圖元覆蓋的一個或多個采樣點。渲染過程主要涉及導出顯示每個片斷所需要的數(shù)據(jù)。這種數(shù)據(jù)通常包括每個片斷的紅、綠、藍(RGB)顏色值(其將主要確定顯示器上片斷的顏色),和每個片斷的所謂 “Alpha”(透明度)值。如本領域已知的,該數(shù)據(jù)通常通過以線性或流水線的方式一個接一個地對每個片斷(即該片斷的數(shù)據(jù))執(zhí)行各自渲染過程(步驟)來導出。因此例如,基于例如片斷的(X, Y)位置和為片斷屬于的圖元的頂點所記錄的顏色和透明度數(shù)據(jù)來為每個片斷首先分配初始RGB和alpha值。接著連續(xù)地對片斷數(shù)據(jù)執(zhí)行諸如文本化、霧化和混和等操作。這些操作修改了為每個片斷設置的初始RGB和alpha值,使得在最后的處理操作之后,每個片斷具有適當?shù)腞GB和alpha值集合,以允許該片斷正確地在顯示屏幕上顯示。用于片斷顯示的最終RGB和alpha值集合被存儲在存儲器(通常稱為幀緩沖器) 中作為對應于顯示器像素陣列的片斷數(shù)據(jù)陣列。幀緩沖器中的數(shù)據(jù)接著被用于當要顯示圖像時設置顯示器的像素。在許多圖形渲染系統(tǒng)中通常將存在存儲最終的片斷數(shù)據(jù)的中間存儲器,并且數(shù)據(jù)從該存儲器轉(zhuǎn)移到用于顯示的幀緩沖器。例如,在延遲或基于瓦片的渲染系統(tǒng)中,片斷數(shù)據(jù)在轉(zhuǎn)移到幀緩沖器之前將首先存儲在一個或多個瓦片緩沖器。即使以立即方式渲染,也可能存在在所渲染片斷數(shù)據(jù)被轉(zhuǎn)移到幀緩沖器之前接收和存儲它們的中間緩沖器。渲染過程(至少對于3D圖形渲染)的另一個重要方面是確定給定圖元的片斷是否實際上在顯示最后景物時被看到。如本領域已知的,該確定通常是通過使用深度(Z)值來執(zhí)行的,在圖元中的每個片斷被渲染時為其設置深度值。因此不但為每個渲染的片斷存儲RGB和alpha值,還存儲深度值。接著,當給定 (x,y)位置的新片斷要被渲染時,(例如,因為其屬于覆蓋相同采樣點的不同圖元),將其深度值與在存儲最終片斷值的存儲器(例如幀或瓦片緩沖器)中為相關(guān)片斷位置當前存儲的片斷的深度值比較,以確定代替當前存儲的片斷是否能看到新片斷。如果新片斷將被看見, 其被渲染且其最終片斷數(shù)據(jù)(顏色值等)被存儲,以代替為所涉及片斷位置存儲的現(xiàn)有片斷數(shù)據(jù)。因此,在要顯示的給定景物的渲染過程結(jié)束時,包括至少顏色(和例如深度)值的片斷數(shù)據(jù)將在片斷U,y)位置的陣列上被存儲,所述數(shù)據(jù)將接著被用于給顯示器的像素上色以顯示景物。在最簡單的情況下,其中對于顯示器的每個像素存在單個采樣點,每個存儲的片斷位置將對應于在顯示器中具有該位置的單個像素(即,在片斷和顯示器的像素之間存在一對一的映射),使得為片斷位置存儲的片斷數(shù)據(jù)將用于為在顯示設備上具有對應位置的像素設置像素顏色。但是,在超采樣和多采樣的情況下,在片斷和最終顯示的像素之間將存在或可能不存在這樣一對一的映射。例如,在超采樣的情況下,渲染過程將對取得的每個圖像樣本渲染和存儲具有完整片斷數(shù)據(jù)集合的片斷(例如在3D圖形處理中包括至少顏色值和深度值)。因此例如,對于4x超采樣,將對最終顯示器中的每個像素渲染四個片斷,并且每一個這些片斷的片斷數(shù)據(jù)作為單獨的片斷數(shù)據(jù)存儲。每個所存儲的四片斷集合的片斷數(shù)據(jù)將接著被適當?shù)亟M合 (下采樣),以給出要用于顯示器相關(guān)像素的數(shù)據(jù)集(顏色值)。因此,在該方案中,將為最終顯示器中的每個像素存儲四個片斷數(shù)據(jù)集合。在多采樣的情況下,當將圖像柵格化為片斷時也為每個像素取得多個樣本。但是, 由所涉及圖元覆蓋的給定像素的所有樣本都被柵格化為單個片斷(而不是如超采樣情況中的單獨的片斷)。該單個片斷接著被渲染,由此為圖元所覆蓋的像素的所有采樣點給出單個、公共的片斷數(shù)據(jù)集合(例如,深度值、顏色值等),如前面那樣接著存儲所述片斷數(shù)據(jù)集
I=I O盡管超采樣和多采樣提供了降低鋸齒偽像方面的優(yōu)點,本申請人相信仍存在對已知反鋸齒技術(shù)的改進范圍。
具體實施例方式根據(jù)本發(fā)明的第一個方面,提供了一種處理要顯示的圖像的圖形圖元的方法,該方法包括為要顯示圖像的多個采樣點集合的每個采樣點確定圖形圖元是否覆蓋了該采樣占.生成用于渲染圖元的圖形片斷集合,每個圖形片斷對應于被發(fā)現(xiàn)包括有由圖元所覆蓋的采樣點的采樣點集合;渲染為圖元所生成的圖形片斷,以便為每個渲染的圖形片斷確定片斷數(shù)據(jù)集合; 和在片斷數(shù)據(jù)的陣列中為采樣點集合的每個采樣點存儲渲染片斷數(shù)據(jù)集合,所述采樣點集合對應于被發(fā)現(xiàn)由圖元所覆蓋的渲染的圖形片斷。根據(jù)本發(fā)明的第二個方面,提供了一種處理要顯示的圖像的圖形圖元的設備,該設備包括用于為要顯示圖像的多個采樣點集合的每個采樣點確定圖形圖元是否覆蓋了該采樣點的裝置;用于生成用于渲染圖元的圖形片斷集合的裝置,每個圖形片斷對應于被發(fā)現(xiàn)包括有由圖元所覆蓋的采樣點的采樣點集合;用于渲染為圖元所生成的圖形片斷的裝置,用于為每個渲染的圖形片斷確定片斷數(shù)據(jù)集合;和用于在片斷數(shù)據(jù)的陣列中為采樣點集合的每個采樣點存儲渲染片斷數(shù)據(jù)集合的裝置,所述采樣點集合對應于被發(fā)現(xiàn)由圖元所覆蓋的渲染的圖形片斷。在本發(fā)明中,被渲染的圖形片斷都對應于原始圖像的采樣點集合,即使得給定片斷可渲染采樣點集合中片斷共同(即一起、并行同時地)對應的采樣點。但是,接著為由圖元覆蓋的每個采樣點存儲渲染片斷數(shù)據(jù)集合。本申請人發(fā)現(xiàn),該方案具有多個優(yōu)點,這將在下面進一步描述。根據(jù)本發(fā)明的第三方面,提供了一種圖形渲染模塊,包括渲染器,所述渲染器能夠共同渲染由圖形圖元覆蓋的多個采樣點;和在渲染器末端的存儲緩沖器,所述存儲緩沖器為由被渲染器所渲染的圖元覆蓋的每個采樣點存儲單獨的渲染片斷數(shù)據(jù)集合。根據(jù)本發(fā)明的第四方面,提供了一種處理圖形以供顯示的方法,包括共同渲染由圖形圖元覆蓋的多個采樣點;和為已經(jīng)共同渲染的由圖元覆蓋的每個采樣點存儲單獨的渲染片斷數(shù)據(jù)集合。要顯示的圖像所取得的采樣點集合(并且由此與所渲染的每個片斷相關(guān)聯(lián))可以按期望被選擇。如本領域已知的,每個采樣點集合(以及由此每個采樣點)將表示要顯示
7圖像的不同位置(X,y位置)(盡管每個集合中采樣點的相關(guān)位置(并且通常將會)相同)。如典型情況那樣,在圖像要顯示在具有包括多個像素的顯示器的輸出設備的情況下,每個采樣點集合優(yōu)選地對應于顯示器的給定像素(像素位置)的采樣點集合,或者對應于顯示器的一部分像素(比如,子像素)的采樣點集合。在后一種方案中,多個采樣點集合的組優(yōu)選地構(gòu)成顯示器像素的采樣點總集合。在這些方案中,每個片斷將有效地為顯示器中的給定像素渲染片斷數(shù)據(jù)。采樣點集合可以表示(覆蓋)要顯示的圖像的整個區(qū)域,或者例如可只表示(和覆蓋)要顯示的整個圖像的一部分。后一種方案將例如用于基于瓦片的渲染系統(tǒng),其中圖像(比如16X 16個像素瓦片)的單獨部分(瓦片)被依次渲染并接著被組合以顯示最終圖像。在該情況下,表示所期望圖像的瓦片(部分)的多個采樣點集合將用于處理圖元,并且如果需要接著對圖像的其它瓦片重復該過程。每個采樣點集合中的采樣點數(shù)目可以按所期望的選擇。例如,每個采樣點集合可實際包括單個采樣點。在該情況下,每個片斷可例如被設置為對應于顯示器的單個像素,即使得渲染過程將有效地被執(zhí)行而不需要任何超采樣或多采樣。這個方案因此會有效地處理圖像而不需要任何反鋸齒。在一個特殊的優(yōu)選實施例中,每組采樣點集合包括多個采樣點(即,覆蓋圖像中的多個采樣位置)。采樣點的實際數(shù)量可按所期望的選擇,盡管四是一個優(yōu)選數(shù)量。在每個采樣點集合包括多個采樣點的情況,采樣點(采樣模式)的模式和(相關(guān)) 位置也按所期望的選擇。例如,任何已知適當?shù)姆翠忼X采樣模式可被使用,比如排序的柵格超采樣。最優(yōu)選地,使用旋轉(zhuǎn)的網(wǎng)格超采樣,因為其提供更好的采樣效果,如本領域已知的。 由此每個采樣點在圖像中具有唯一的χ和y坐標是優(yōu)選的。在一個優(yōu)選實施例中,用于為給定圖元采樣圖像的每個采樣點集合相同(S卩,使用相同的采樣點數(shù)量和模式以及相關(guān)位置)。在該情況下,采樣點集合對于每個片斷將是相同的。在另一個優(yōu)選實施例中,用于為給定圖元采樣圖像的采樣點集合可以有差異和/ 或不同,例如在采樣點的數(shù)量和/或?qū)γ總€采樣點集合所使用的采樣模式或相對位置方面。最優(yōu)選地,采樣點集合可在要用來渲染圖元的片斷之間不同。在一個特別優(yōu)選的實施例中,采樣點集合(例如與每個片斷關(guān)聯(lián))可在使用中被選擇和改變。這為渲染和反鋸齒處理提供了靈活性。這種采樣點的選擇可能例如來自采樣模式的預定選擇和/或要使用的采樣模式在使用中是可編程的。這例如允許一些片斷被設置為使用排序的網(wǎng)格采樣模式且其它片斷被設置為使用旋轉(zhuǎn)的網(wǎng)格采樣模式。在這類方案的一個特別優(yōu)選的實施例中,片斷被分組成有多個片斷的集合,并且不同的采樣模式被用于集合中的每個片斷,但是相同的采樣模式被用于每個片斷集合中的每個相應的片斷。例如,有不同采樣模式的集合可應用于給定的片斷組(例如2X2的片斷陣列),但是,該采樣模式集合可重復應用于每個相繼的片斷組。這類方案在有多個片斷的組將被下采樣到輸出顯示器的單個像素的情況下特別有用,因為其可例如被用于確保用于每個片斷的樣本點不需要匹配X或y坐標,即使得用于像素的每個樣本在圖像中具有唯一的χ和y坐標。在一個優(yōu)選實施例中,用于渲染圖元的每個片斷對應于不同的采樣點集合。在該方案中,實際上只會生成單個片斷并且該單個片斷被用來共同渲染每個采樣點集合的采樣點,即使得渲染過程將有效地以多采樣方式執(zhí)行,并且每個片斷共同渲染(不同)采樣點集合的(多個)采樣點。在另一個優(yōu)選實施例中,對于給定的采樣點集合,一個以上的片斷被或能夠被生成和渲染。這允許一個以上的片斷被用于渲染采樣點集合,而不是用單個片斷來共同渲染采樣點集合的所有采樣點。最優(yōu)選地,在該方案中,對應于相同采樣點集合的每個片斷用于為采樣點集合的不同采樣位置渲染數(shù)據(jù)。這類方案具有增加不同顏色(紋理)樣本的數(shù)量的效果,這些樣本是將為多個片斷都對應的采樣點集合所生成的(因為將為每個被渲染的片斷采用單獨的顏色(紋理)樣本),并因此允許渲染過程以更類似于超采樣的方式操作。因此,在優(yōu)選實施例中,系統(tǒng)可有選擇地為給定的采樣點集合生成用于渲染的一個以上的片斷。在這種方案中,優(yōu)選地,為采樣點集合的每個采樣點(或至少為由圖元覆蓋的每個采樣點)生成一個片斷,即使得將為采樣點集合的每個不同采樣點渲染單獨的片斷。在該情況下,渲染過程將有效地以超采樣的方式執(zhí)行,因為單獨地(通過渲染不同的片斷)為采樣點集合的每個(覆蓋的)采樣點生成片斷數(shù)據(jù)集合(以及顏色值(樣本))。在這些方案中,在為采樣點集合的不同采樣點生成多個片斷時,優(yōu)選的是,只為由圖元實際覆蓋的樣本點生成片斷,如此避免了對實際將不用于所涉及圖元的片斷進行渲染的需要(因為它們與沒有由圖元覆蓋的采樣點有關(guān))。因此,在這些方案中,優(yōu)選地為由圖元覆蓋的采樣點集合的每個采樣點生成一個片斷(但是,不為沒有由圖元覆蓋的采樣點生成片斷)。因此,在一個優(yōu)選實施例中,系統(tǒng)能夠且優(yōu)選地為給定的采樣位置集合有選擇地生成多個片斷,最優(yōu)選地,是基于被確定為由所涉及圖元覆蓋的采樣位置集合的采樣位置數(shù)量來生成(且優(yōu)選地使得當存在發(fā)現(xiàn)為被覆蓋的采樣位置時,生成相同數(shù)量的片斷)。在一個特別優(yōu)選的實施例中,本發(fā)明的系統(tǒng)由此包括用于確定在一個或每個采樣點集合中多少采樣點由圖元覆蓋,并接著為被發(fā)現(xiàn)由圖元所覆蓋的給定或每個采樣點集合中的每個采樣點生成用于渲染的片斷的步驟或裝置。在一個特別優(yōu)選的實施例中,本發(fā)明的系統(tǒng)可優(yōu)選地有選擇地被配置為且優(yōu)選地在使用中被配置為要么只為要被渲染的采樣點集合(例如被發(fā)現(xiàn)包括由圖元覆蓋的采樣點)生成只用于渲染的單個圖形片斷,要么能夠為要渲染的采樣點集合(例如被發(fā)現(xiàn)包括由圖元覆蓋的采樣點)生成用于渲染的多個圖形片斷(如果需要的話,例如因為集合中一個以上的采樣點被覆蓋)。優(yōu)選地,系統(tǒng)能夠以這種方式根據(jù)例如每圖元、每繪制調(diào)用和/ 或每景物來配置。最優(yōu)選地,渲染器要被設置的渲染狀態(tài)可用于設置系統(tǒng)在哪個配置中操作。所相信的是,這些方案在其自身方面可以是新的或有利的。因此,根據(jù)本發(fā)明的第五方面,提供了一種處理要顯示的圖像的圖形圖元的方法,該方法包括為要顯示圖像的多個采樣點集合的每個采樣點確定圖形圖元是否覆蓋了該采樣占.
^ \\\ 有選擇地為被發(fā)現(xiàn)包括有由圖元所覆蓋的采樣點的每個采樣點集合生成用于渲染的單個圖形片斷或多個圖形片斷;
渲染為圖元所生成的一些或所有圖形片斷,以便為每個渲染的圖形片斷確定片斷數(shù)據(jù)集合;和在片斷數(shù)據(jù)的陣列中存儲一些或所有渲染片斷數(shù)據(jù)。根據(jù)本發(fā)明的第六方面,提供了一種處理要顯示的圖像的圖形圖元的設備,該設備包括用于為要顯示圖像的多個采樣點集合的每個采樣點確定圖形圖元是否覆蓋了該采樣點的裝置;用于有選擇地為被發(fā)現(xiàn)包括有由圖元所覆蓋的采樣點的每個采樣點集合生成用于渲染的單個圖形片斷或多個圖形片斷的裝置;用于渲染為圖元所生成的一些或所有圖形片斷的裝置,用于為每個渲染的圖形片斷確定片斷數(shù)據(jù)集合;和用于在片斷數(shù)據(jù)的陣列中存儲一些或所有渲染片斷數(shù)據(jù)的裝置。根據(jù)本發(fā)明的第七方面,提供了一種操作圖形渲染系統(tǒng)的方法,其中該系統(tǒng)能為要顯示圖像的多個采樣點集合的每個采樣點確定圖形圖元是否覆蓋了該采樣點,該方法包括將圖形系統(tǒng)配置成總是為被發(fā)現(xiàn)包括有由圖元所覆蓋的采樣點的采樣點集合生成只用于渲染的單個圖形片斷;或?qū)D形系統(tǒng)配置成能夠為被發(fā)現(xiàn)包括有由圖元所覆蓋的采樣點的采樣點集合生成用于渲染的多個圖形片斷。根據(jù)本發(fā)明的第八方面,提供了一種圖形渲染系統(tǒng),包括用于為要顯示圖像的多個采樣點集合的每個采樣點確定圖形圖元是否覆蓋了該采樣點的裝置;用于將圖形系統(tǒng)配置成總是為被發(fā)現(xiàn)包括有由圖元所覆蓋的采樣點的采樣點集合生成只用于渲染的單個圖形片斷的裝置;和用于將圖形處理器配置成能夠為被發(fā)現(xiàn)包括有由圖元所覆蓋的采樣點的每個采樣點集合生成用于渲染的多個圖形片斷的裝置。本領域技術(shù)人員將會理解,本發(fā)明的這些方面和實施例能夠且優(yōu)選地適當包括這里所描述的本發(fā)明的任意一個或多個或所有的優(yōu)選和可選特征。因此,例如,為被發(fā)現(xiàn)包括有由圖元所覆蓋的采樣點的每個采樣點集合有選擇地生成用于渲染的單個圖形片斷或多個圖形片斷的步驟或裝置優(yōu)選地包括用于確定圖元覆蓋了多少采樣點集合中的采樣點的步驟和裝置,并且在圖元只覆蓋了采樣點集合中的一個采樣點的情況下,為該采樣點集合生成用于渲染的單個圖形片斷,但是在圖元覆蓋了采樣點集合中一個以上的采樣點的情況下,為該采樣點集合生成用于渲染的多個圖形片斷。在這些方案中,按期望為給定采樣點集合生成用于渲染的多個片斷。在一個優(yōu)選實施例中,要為采樣點集合渲染的每個片斷被設置為共同具有某個片斷數(shù)據(jù)(即,至少初始被設置為對于每個片斷相同的數(shù)據(jù))。這簡化了片斷的生成。優(yōu)選地,每個片斷的(至少)任何初始(例如,預先的顏色采樣)的紅、綠和藍色值,alpha(透明度)值(如果提供的話),以及Z (深度)值被設置為相同。但是,其它分段數(shù)據(jù),比如要與每個片斷關(guān)聯(lián)的(所覆蓋的)采樣點將會且應當在每個片斷之間自然變化。
因此,在一個特殊的優(yōu)選實施例中,在要為采樣點集合生成多個片斷的情況下,仍然首先為采樣點集合生成單個片斷,并接著生成具有與初始片斷一樣(例如,從其拷貝)的某個片斷數(shù)據(jù)的多個片斷(例如,與所覆蓋的集合中的采樣點一樣多),并接著生成多個所發(fā)送的用于渲染的片斷。在這些方案中,優(yōu)選地生成和渲染多個新的片斷,以替換初始的片斷,但是還有可能例如與一個或多個附加生成的片斷一起保留和渲染初始片斷(由此提供全部被渲染的多個片斷)。因此,在一個優(yōu)選實施例中,首先為被發(fā)現(xiàn)包括有由圖元所覆蓋的采樣點的采樣點集合生成單個片斷,并且接著,如果期望(例如,系統(tǒng)被配置為以這種方式操作),則確定采樣點集合實際上是否包括由圖元覆蓋的一個以上的采樣點,并且如果是,則為該采樣點集合生成用于渲染的有多個片斷的新集合,這些片斷優(yōu)選地包括與初始為該采樣點集合生成的單個片斷一樣的至少一些數(shù)據(jù)。再次認為,這些方案在其自身方面可以是新的和有利的。因此,根據(jù)本發(fā)明的第九方面,提供了一種處理要顯示的圖像的圖形圖元的方法, 該方法包括為要顯示圖像的多個采樣點集合的每個采樣點確定圖形圖元是否覆蓋了該采樣占.
^ \\\ 為被發(fā)現(xiàn)包括有由圖元所覆蓋的采樣點的每個采樣點集合生成用于渲染的圖形片斷;為被發(fā)現(xiàn)包括有由圖元所覆蓋的一個以上的采樣點的那些采樣點集合生成多個圖形片斷,所述多個圖形片斷具有與先前為該采樣點集合生成的圖形片斷一樣的至少一些片斷數(shù)據(jù);渲染為圖元所生成的圖形片斷,以便為每個渲染的圖形片斷確定片斷數(shù)據(jù)集合; 和在片斷數(shù)據(jù)的陣列中存儲一些或所有渲染的片斷數(shù)據(jù)。根據(jù)本發(fā)明的第十方面,提供了一種處理要顯示的圖像的圖形圖元的設備,該設備包括用于為要顯示圖像的多個采樣點集合的每個采樣點確定圖形圖元是否覆蓋了該采樣點的裝置;用于為被發(fā)現(xiàn)包括有由圖元所覆蓋的采樣點的每個采樣點集合生成用于渲染的圖形片斷的裝置;用于為被發(fā)現(xiàn)包括有由圖元所覆蓋的一個以上的采樣點的那些采樣點集合生成多個圖形片斷的裝置,所述多個圖形片斷具有與先前為該采樣點集合生成的圖形片斷一樣的至少一些片斷數(shù)據(jù);用于渲染為圖元所生成的圖形片斷的裝置,用于為每個渲染的圖形片斷確定片斷數(shù)據(jù)集合;和用于在片斷數(shù)據(jù)的陣列中存儲一些或所有渲染的片斷數(shù)據(jù)的裝置。根據(jù)本發(fā)明的第十一方面,提供了一種處理要顯示的圖像的圖形圖元的設備,該設備包括用于為要顯示圖像的多個采樣點集合的每個采樣點確定圖形圖元是否覆蓋了該采樣點的裝置;用于為被發(fā)現(xiàn)包括有由圖元所覆蓋的采樣點的每個采樣點集合生成用于渲染的圖形片斷的裝置;用于為被發(fā)現(xiàn)包括有由圖元所覆蓋的一個以上的采樣點的采樣點集合有選擇地生成多個圖形片斷的裝置;用于渲染為圖元所生成的圖形片斷的裝置,用于為每個渲染的圖形片斷確定片斷數(shù)據(jù)集合;和用于在片斷數(shù)據(jù)的陣列中存儲一些或所有渲染的片斷數(shù)據(jù)的裝置。根據(jù)本發(fā)明的第十二方面,提供了一種圖形渲染模塊,包括渲染器,所述渲染器可共同渲染由圖形圖元覆蓋的多個采樣點;和用于有選擇地共同或個別地渲染由圖形圖元覆蓋的采樣點的裝置。本領域技術(shù)人員將會理解,本發(fā)明的這些方面和實施例能夠且優(yōu)選地適當包括這里所描述的本發(fā)明的任意一個或多個或所有的優(yōu)選和可選特征。因此,例如,為被發(fā)現(xiàn)包括有由圖元所覆蓋的一個以上采樣點的采樣點集合生成的多個圖形片斷包括“新”生成的片斷(具有與較早的片斷一樣的數(shù)據(jù)),但是相反,可由“原始”片斷連同一個或多個“新”生成的片斷組成。類似地,在采樣點集合被發(fā)現(xiàn)只包括一個覆蓋的采樣點的情況中,則優(yōu)選地將初始生成的單個片斷用作為用于渲染該采樣點集合的單個片斷。在本發(fā)明的這些方面和實施例的特殊優(yōu)選的方案中,用于有選擇地生成多個用于渲染的圖形片斷的裝置或步驟包括用于接收已經(jīng)為被發(fā)現(xiàn)包括有由圖元覆蓋的采樣點的采樣點集合初始生成的圖形片斷的裝置或步驟,確定與該片斷對應的采樣點集合是否包括由圖元覆蓋的一個以上的采樣點,并且如果是,則為該采樣點集合生成用于渲染的有多個片斷的集合。優(yōu)選地,如上所述,如果生成了有多個片斷的集合,則該集合包括新片斷的集合,集合中的每個片斷優(yōu)選地具有與初始片斷一樣的至少一些片斷數(shù)據(jù)。如果確定與初始片斷對應的采樣點集合只包括單個覆蓋的采樣點,則優(yōu)選地保留和發(fā)送初始片斷以便渲染,盡管如果期望,相反可生成對應于初始片斷的新片斷。另一方面,如果確定采樣點集合包括覆蓋的一個以上的采樣點,則優(yōu)選地生成和發(fā)送與所覆蓋的采樣點的數(shù)量相對應的有多個片斷的集合以便渲染,并且集合中的每個片斷對應于一個所覆蓋的采樣點。所相信的是,這些方案在其自身方面可以是新的和有利的。因此,根據(jù)本發(fā)明的第十三方面,提供了一種處理要顯示的圖像的圖形圖元的設備,該設備包括用于為要顯示圖像的多個采樣點集合的每個采樣點確定圖形圖元是否覆蓋了該采樣點的裝置;用于為被發(fā)現(xiàn)包括有由圖元所覆蓋的采樣點的采樣點集合生成用于渲染的單個圖形片斷的裝置;和用于確定被發(fā)現(xiàn)包括有由圖元所覆蓋的采樣點的采樣點集合是否包括由該圖元覆蓋的一個以上的采樣點,并且如果是,則用于為所述采樣點集合生成用于渲染的有多個片斷的集合的裝置。根據(jù)本發(fā)明的第十四方面,提供了一種處理要顯示的圖像的圖形圖元的方法,該方法包括
為要顯示圖像的多個采樣點集合的每個采樣點確定圖形圖元是否覆蓋了該采樣占.
^ \\\ 為被發(fā)現(xiàn)包括有由圖元所覆蓋的采樣點的采樣點集合生成用于渲染的單個圖形片斷;和確定被發(fā)現(xiàn)包括有由圖元所覆蓋的采樣點的采樣點集合是否包括由該圖元覆蓋的一個以上的采樣點,并且如果是,則為所述采樣點集合生成用于渲染的多個片斷的集合。而且,本發(fā)明的這些方面能夠且優(yōu)選地包括這里所描述的本發(fā)明的任意一個或多個或所有的優(yōu)選和可選特征。在一個特殊的優(yōu)選實施例中,用于為采樣點集合有選擇地生成多個圖形片斷的裝置可例如根據(jù)每圖元、每片斷、每繪制調(diào)用、每瓦片或每景物等(或它們?nèi)我獾慕M合)來有選擇地包括在渲染過程中或從該過程省略(旁路)。這便于將系統(tǒng)配置為以這種方式或不以這種方式操作。最優(yōu)選地,提供執(zhí)行這些功能且可有選擇地包括在渲染過程(例如流水線)中或有選擇地在渲染過程(流水線)中被旁路的功能設置或單元。這便于例如對給定的片斷、圖元、繪制調(diào)用和/或景物等有選擇地省略該功能(例如通過旁路該功能單元)。為渲染圖元而生成的圖形片斷集合應當包括足夠用于渲染圖元以供適當顯示的片斷。因此,例如,在已知一部分圖元實際上將不會在最終顯示中被看見的情況下,不需要為這部分圖元生成片斷。同樣地,即使已經(jīng)為一個圖元生成了片斷,所優(yōu)選的也是,不渲染實際上不會在最終圖像中被看見的任何片斷。因此,在一個優(yōu)選實施例中,本發(fā)明包括用于確定任何給定的片斷是否可能或?qū)谧罱K圖像中被看到(例如優(yōu)選地,將代替其數(shù)據(jù)已經(jīng)存儲在片斷陣列中的片斷而被看見)的步驟或裝置,并且如果確定片斷可能或?qū)豢吹剑瑒t只渲染該片斷。至少在3D圖形系統(tǒng)中,這樣的確定可能且優(yōu)選地基于對片斷的深度值的評估,如本領域已知的。為每個片斷和采樣點確定和存儲的片斷數(shù)據(jù)可以是任何適合的這樣的數(shù)據(jù)。其至少應當包括適當?shù)念伾?或透明度數(shù)據(jù),比如RGB和alpha值,以例如允許顯示器的像素被適當?shù)娘@示。(這里應當理解,這里所指的“顏色數(shù)據(jù)”包括適當?shù)幕叶却a或類似的數(shù)據(jù), 比如對于單色或黑白顯示器所使用的。)在至少處理三維圖形的情況中,被確定和存儲的片斷數(shù)據(jù)優(yōu)選地還包括片斷的深度(Z)值(以及由此用于一個或多個所涉及的樣本位置)。其它片斷數(shù)據(jù),比如所謂的模板數(shù)據(jù)(stencil data)也可(并優(yōu)選地)被適當?shù)卮_定和存儲(并且如果期望)。渲染的片斷數(shù)據(jù)被存儲在片斷數(shù)據(jù)陣列中。如上所述,對于由圖元覆蓋的每個采樣點,單獨的渲染的片斷數(shù)據(jù)集合被或能夠被存儲在片斷陣列中。如本領域所知道的,該陣列應當表示例如片斷位置的二維陣列,其可接著被適當?shù)奶幚硪岳顼@示像素的2D陣列。 如在本發(fā)明中,為每個樣本位置存儲片斷數(shù)據(jù)集合,片斷數(shù)據(jù)的陣列將對應于要顯示的圖像的樣本位置陣列。如本領域技術(shù)人員將理解的,雖然最后的片斷數(shù)據(jù)陣列將為每個采樣位置存儲渲染的片斷數(shù)據(jù)集合以便隨后顯示,但是給定圖元的所有渲染片斷數(shù)據(jù)將存儲在片斷數(shù)據(jù)陣列中的情況是不必要的。例如,如果為一個圖元渲染一個片斷,但是接著確定了(例如通過使用深度比較測試,如本領域中已知的)片斷位置處將看不到所涉及的圖元(例如因為咬合所渲染圖元的圖元的片斷數(shù)據(jù)已經(jīng)存儲在片斷數(shù)據(jù)陣列中),那么對于咬合的一個或多個樣本位置渲染片斷的數(shù)據(jù)優(yōu)選地不會并且將不會實際上存儲在片斷數(shù)據(jù)陣列中。因此, 實際中,如本領域已知的,如果在已經(jīng)渲染了片斷之后確定了與片斷有關(guān)的圖元實際上將不會在有關(guān)的片斷位置和/或樣本位置看到,則渲染的片斷數(shù)據(jù)優(yōu)選地不存儲在片斷數(shù)據(jù)陣列中。因此在實際中,至少一些,但不必是所有的給定圖元的渲染片斷數(shù)據(jù)將趨于存儲在片斷數(shù)據(jù)陣列中,盡管在圖像的整個圖元集合中將存在為片斷數(shù)據(jù)陣列中每個位置(例如樣本位置)存儲的渲染片斷數(shù)據(jù)集合。存儲在片斷陣列中的片斷數(shù)據(jù)集合可以任何適當方式存儲。如本領域技術(shù)人員將理解的,它們優(yōu)選地存儲在對應于它們所表示的圖像中的采樣位置的片斷陣列中的位置, 以便于數(shù)據(jù)的后續(xù)處理以供顯示。將會理解,盡管在許多情況中,圖元將覆蓋采樣點集合中片斷對應的所有采樣點, 在一些情況中可能不是這樣,使得只有一些但不是所有與片斷關(guān)聯(lián)的樣本點將由圖元覆蓋。在后一種情況下,片斷的渲染片斷數(shù)據(jù)將用于那些由該圖元覆蓋的采樣點,但不用于那些沒有由圖元覆蓋的采樣點(因為這些采樣點實際中將不會由圖像的另一個圖元覆蓋)。 因此,例如不存在為沒有由圖元覆蓋的那些采樣點將渲染的片斷數(shù)據(jù)存儲在片斷數(shù)據(jù)陣列中的需要。因此,在一個優(yōu)選的實施例中,為片斷渲染的片斷數(shù)據(jù)能夠并且優(yōu)選地選擇性地存儲在片斷數(shù)據(jù)陣列中(并且尤其存儲在陣列中與采樣點集合對應的樣本位置中,該采樣點集合對應于片斷)。這種選擇性存儲可例如包括只為采樣點集合中片斷所對應的且實際上由圖元覆蓋的那些采樣點存儲渲染的片斷數(shù)據(jù)到片斷數(shù)據(jù)陣列中(即,使得對于采樣點集合中片斷所對應的每個所覆蓋的采樣點,渲染片斷的單獨的片斷數(shù)據(jù)集合將存儲在片斷數(shù)據(jù)陣列中,但是對于沒有由圖元覆蓋的樣本位置,渲染的片斷數(shù)據(jù)將不被存儲)??商鎿Q地或附加地,在例如為每個樣本位置集合渲染多個片斷的情況下,對于所選擇的一個或多個與片斷對應的且由圖元覆蓋的采樣點,能夠存儲為多個片斷中的每一個渲染的片斷數(shù)據(jù)(例如使得多個片斷的每一個用于為所涉及的采樣點集合的一個不同的所覆蓋的采樣點生成渲染的片斷數(shù)據(jù))。因此,在一個特別優(yōu)選的實施例中,每個圖形片斷已經(jīng)與其數(shù)據(jù)關(guān)聯(lián),以指明應當為采樣點集合中與片斷對應的哪些采樣點,將渲染的片斷數(shù)據(jù)存儲在片斷數(shù)據(jù)陣列中(即實際上,片斷正用于渲染采樣點集合中與片斷對應的哪些采樣點)。該系統(tǒng)接著優(yōu)選地操作用于為各個所選擇的樣本位置,但不為與該片斷關(guān)聯(lián)的剩余的樣本位置將渲染的片斷數(shù)據(jù)存儲在片斷數(shù)據(jù)陣列中。指明片斷正用于渲染哪些采樣點的信息優(yōu)選地與片斷中穿過渲染器的片斷數(shù)據(jù) (比如,片斷的RGB和alpha值)關(guān)聯(lián)或是其一部分。優(yōu)選地是,以覆蓋掩碼的形式指明,對于樣本位置集合中與片斷關(guān)聯(lián)的每個樣本位置,片斷是否正用于渲染該樣本點(即應當為該樣本點存儲其數(shù)據(jù))。該方案已經(jīng)被發(fā)現(xiàn)是一個尤其方便的方式來將給定的片斷與適當?shù)臉颖军c相關(guān)聯(lián),并且便于本發(fā)明的其它優(yōu)選操作,比如上述的那些操作。例如,指明片斷正用于渲染哪些樣本點的數(shù)據(jù)可用于確定有多少渲染片斷數(shù)據(jù)的副本需要存儲在片斷數(shù)據(jù)陣列中,和數(shù)據(jù)應當存儲于其中的片斷數(shù)據(jù)陣列的位置。
該方案還可用于如上所述的方便為給定的采樣點集合生成用于渲染的多個片斷 (例如,當確定了圖元覆蓋采樣點集合中一個以上的采樣點時)。尤其,在這種情況出現(xiàn)且生成多個片斷時,與每個片斷關(guān)聯(lián)的樣本點數(shù)據(jù),例如覆蓋掩碼可被適當改變以指明每個片斷實際上與哪個樣本點(或多個樣本點)有關(guān)。相信這些方案其自身可以是新的和有利的。因此,根據(jù)本發(fā)明的第十五方面,提供了一種處理要顯示的圖像的圖形圖元的方法,該方法包括為要顯示圖像的采樣點集合的每個采樣點確定圖元是否覆蓋了該采樣點;生成用于渲染圖元的圖形片斷集合,每個圖形片斷對應于被發(fā)現(xiàn)包括有由圖元所覆蓋的采樣點的采樣點集合;關(guān)聯(lián)每個圖形片斷信息,以指明片斷對應的采樣點集合中的哪些采樣點由該片斷共同渲染;渲染一些或所有圖形片斷,以便為每個渲染的片斷確定片斷數(shù)據(jù)集合;和對于一個或多個渲染的片斷,存儲每個采樣點的渲染片斷的渲染片斷數(shù)據(jù)集合, 與該片斷關(guān)聯(lián)的信息指明所述每個采樣點由該片斷共同渲染。根據(jù)本發(fā)明的第十六方面,提供了一種處理要顯示的圖像的圖形圖元的設備,包括用于為要顯示圖像的采樣點集合的每個采樣點確定圖元是否覆蓋了該采樣點的裝置;用于生成用于渲染圖元的圖形片斷集合的裝置,每個圖形片斷對應于被發(fā)現(xiàn)包括有由圖元所覆蓋的采樣點的采樣點集合;用于關(guān)聯(lián)每個圖形片斷信息,以指明片斷對應的采樣點集合中的哪些采樣點由該片斷共同渲染的裝置;用于渲染一些或所有圖形片斷的裝置,用于為每個渲染的片斷確定片斷數(shù)據(jù)集合;和用于為渲染片斷存儲每個采樣點的渲染片斷的渲染片斷數(shù)據(jù)集合的裝置,與該片斷關(guān)聯(lián)的信息指明所述每個采樣點由該片斷共同渲染。如將由本領域技術(shù)人員理解的,當每個片斷被渲染時,將進行適當?shù)纳仙?或紋理操作。因此,將需要的是,確定來自圖像的一個或多個適當?shù)念伾珮颖?,以允許每個片斷被適當?shù)劁秩?。該顏色采樣可以任何適當?shù)姆绞綀?zhí)行。在一個特別優(yōu)選的實施例中,當每個片斷被渲染時,顏色采樣是以每片斷的基礎來執(zhí)行的。當片斷達到渲染過程的紋理映射階段時,這可能且優(yōu)選地作為紋理“查找”的一部分對該片斷來執(zhí)行。(如本領域已知的,當渲染圖形片斷時,在該過程中將通常存在一個階段,被稱為紋理映射,其中將基于例如已經(jīng)為所涉及的片斷設置的紋理坐標(s,t),來確定和設置用于片斷的顏色和紋理。)在這樣的方案中,每個片斷將有效地為其對應的采樣點集合提供單個顏色(文本)查找,即使得各個片斷可被當作為以多采樣的方式操作(即,對與片斷關(guān)聯(lián)的(多個)采樣位置的單個顏色(紋理)查找)。優(yōu)選地從所涉及圖像內(nèi)的單個位置取得用于每個片斷的顏色樣本(例如,紋理查找)。該樣本位置例如能夠?qū)谒〉玫奈恢脴颖局灰源_定圖元的覆蓋,或者例如能夠在所涉及的位置采樣模式(例如像素)的中心處取得。
最優(yōu)選地,在由采樣模式(例如像素,其中每個采樣模式對應于一個像素)覆蓋的區(qū)域中從適當加權(quán)或選擇的位置取得顏色樣本。在使用顏色采樣位置這樣的“加權(quán)”的情況下,加權(quán)(選擇的)位置是優(yōu)選地基于片斷正用于渲染的(所覆蓋的)采樣點的位置的。因此,在一個特別優(yōu)選的實施例中,根據(jù)所涉及片斷正用于渲染的所覆蓋采樣點來確定顏色樣本位置。因此例如,如果采樣點集合中的所有采樣點由圖元覆蓋,并且單個片斷正用于共同渲染那些采樣點,則優(yōu)選地從采樣模式的中心位置取得顏色樣本。類似地, 如果片斷只表示單個覆蓋的采樣點,則優(yōu)選地在采樣點位置取得顏色樣本。如果片斷表示兩個覆蓋的采樣位置,接著優(yōu)選地從與顏色樣本有關(guān)的適當位置來取得那些顏色樣本(例如,朝著那兩個樣本的位置加權(quán)),等等。要使用的顏色樣本位置例如可以在使用中基于與每個片斷關(guān)聯(lián)的所覆蓋樣本點來計算,和/或用于每個給定樣本點覆蓋模式的顏色樣本位置可以被預定且接著將預定的顏色樣本位置集合(例如,與它們對應于的覆蓋模式的適當標識符一起)例如存儲在查找表中,以允許渲染器在使用中為片斷獲取適當?shù)念伾珮颖疚恢谩T谝粋€優(yōu)選實施例中,渲染過程等被預配置成使用給定的采樣模式(和顏色樣本位置(或位置集合))并接著在渲染片斷時應用該模式等到所有片斷。這便于該渲染過程生成片斷數(shù)據(jù)并接著存儲該數(shù)據(jù)到片斷數(shù)據(jù)陣列中的適當位置。在一個可替換的實施例中,每個片斷可以與其數(shù)據(jù)關(guān)聯(lián),以指明用于片斷的采樣模式和/或要用于片斷的顏色樣本位置。將會理解,利用上述方案,本發(fā)明可有效地以多種反鋸齒模式來操作,比如多采樣、超采樣或不啟用反鋸齒模式。例如,如果每個片斷用于共同渲染多個樣本點,則圖像將有效地以多采樣方式來處理。另一方面,如果為每個采樣點集合(例如像素)只設置單個采樣點,則圖形處理可有效地以非多采樣方式來執(zhí)行,即不利用反鋸齒。等效地,通過在被發(fā)現(xiàn)由每個采樣點集合的圖元覆蓋的片斷之上為每個樣本點生成附加的片斷,系統(tǒng)能夠有效地以超采樣方式來操作。因此,在一個特別優(yōu)選的實施例中,一個或多個和優(yōu)選地,所有上面的采樣和/或反鋸齒選項,比如采樣點的數(shù)量或要使用的采樣模式,以及在由圖元覆蓋了采樣點集合的一個已上的采樣點的情況下是否生成附加的片斷,能夠有選擇地在使用中被啟用或禁用。 因此,本發(fā)明的方法或設備優(yōu)選地還包括選擇或設置要使用的采樣模式和/或反鋸齒模式 (并例如用于適當?shù)嘏渲娩秩酒?的裝置或步驟。最優(yōu)選地,以逐個圖元為基礎(即對于個別圖元或?qū)τ趫D元集合)可選擇和設置采樣和/或反鋸齒模式。實際上本發(fā)明的圖像處理方案的特殊優(yōu)點在于,它允許能使用的反鋸齒和采樣技術(shù)中的靈活性,并且進而能允許反鋸齒和/或采樣模式在使用中被選擇和可變化。因此,根據(jù)本發(fā)明的第十七方面,提供了一種圖形渲染模塊,包括用于將渲染模塊配置成利用多個不同的反鋸齒和/或采樣模式來渲染顯示器的圖形圖元的裝置。根據(jù)本發(fā)明的第十八方面,提供了一種圖形渲染模塊,包括用于選擇性地改變要用于渲染顯示器的圖形圖元的采樣模式和/或反鋸齒模式的裝置。
根據(jù)本發(fā)明的第十九方面,提供了一種圖形渲染模塊,該圖形渲染模塊能被配置成使用不同的采樣和/或反鋸齒模式來渲染圖形圖元并包括用于通過利用不同的反鋸齒和/或采樣模式來渲染顯示器的不同圖形圖元的裝置。根據(jù)本發(fā)明的第二十方面,提供了一種圖形渲染模塊,其中顯示器的不同圖形圖元能以多個不同的反鋸齒和/或采樣模式被渲染,并且該渲染模塊包括用于確定在渲染圖元時要使用的反鋸齒和/或采樣模式的裝置。根據(jù)本發(fā)明的第二十一方面,提供了一種操作圖形渲染模塊的方法,其中顯示器的圖形圖元可用多個不同的反鋸齒和/或采樣模式而被渲染,該方法包括確定在渲染圖元時要使用的反鋸齒和/或采樣模式;和利用所確定的反鋸齒和/或采樣模式來渲染圖形圖元。在本發(fā)明的這些方面和方案中,圖形圖元可優(yōu)選地如上面討論的那樣以多采樣的方式或以超采樣的方式,或不啟用反交錯模式而被被渲染。可按所期望的選擇為哪個圖元使用哪個反鋸齒模式。例如,超采樣在3D圖形處理中對所謂的“alpha”紋理和“alpha穿通”紋理是特別有用的。(這是因為在這樣的紋理中,如本領域已知的,甚至在多采樣方案中將遇到可導致鋸齒偽像的透明和不透明部分。但是,超采樣可幫助減弱這樣的鋸齒。)但是,對于其它紋理,超采樣可不是如此必要的。因此,在一個優(yōu)選實施例中,渲染過程被設置成對alpha紋理圖元執(zhí)行“超采樣”,但不對所有其它圖元執(zhí)行多采樣。反鋸齒和/或采樣模式可在使用中以任何適當?shù)姆绞奖辉O置。在一個優(yōu)選實施例中,一個或多個給定的圖元可與特殊的反鋸齒和/或采樣模式關(guān)聯(lián)。最優(yōu)選地,要使用的反鋸齒和/或采樣模式被定義為渲染狀態(tài)中為一個或多個圖元所定義的部分。如本領域已知的,為了能夠執(zhí)行正確的渲染操作,渲染操作的每個階段需要被適當配置,即被設置成正確的所謂“渲染狀態(tài)”。渲染狀態(tài)確定渲染過程的各階段如何對每個片斷進行操作,并且通常例如確定要用于渲染圖形片斷的混和模式、模板緩沖器操作、紋理功能、紋理映射信息、ζ測試模式、RGBa緩沖器寫模式等中的一個或多個。它還可以用于例如指明要使用的柵格化模式。在本發(fā)明中,其還將用于為所涉及的一個或多個圖元設置反鋸齒和/或采樣模式。在具有給定反鋸齒和/或采樣模式的圖元要被渲染的情況下,則渲染過程的所有階段可首先被配置成所期望的反鋸齒和/或采樣狀態(tài),并且接著造成圖形片斷渲染(以類似于如下方式來渲染,該方式是在許多圖形處理系統(tǒng)中,在圖形片斷被發(fā)送到渲染器之前整個渲染器將被配置成單個渲染狀態(tài))。但是,在一個特別優(yōu)選的實施例中,要渲染的圖形片斷與其所期望的反鋸齒和/ 或采樣模式關(guān)聯(lián),并且渲染器的渲染單元接著使用該關(guān)聯(lián)性來在渲染單元接收片斷時確定它們?yōu)殇秩酒瑪鄳褂玫姆翠忼X和/或采樣模式。換句話說,當渲染單元接收到用于渲染的片斷時,其基于與片斷已經(jīng)關(guān)聯(lián)的采樣和/或反鋸齒模式來確定要用于該片斷的采樣和 /或反鋸齒模式,并且接著由此渲染片斷。這避免了需要在渲染任何片斷之前將整個渲染器配置成給定的采樣或反鋸齒模式。這還意味著,渲染器的渲染單元可有效地都將它們本身
17配置成它們當前片斷所要求的采樣或反鋸齒模式,其獨立于渲染器中剩余渲染單元當前的一個或多個采樣或反鋸齒模式。因此,根據(jù)本發(fā)明的第二十二方面,提供了一種圖形處理器,包括渲染器,用于渲染圖形片斷以供顯示,并且包括可被配置成不同采樣和/或反鋸齒模式的一個或多個渲染單元;用于關(guān)聯(lián)要渲染的圖形片斷和可能的采樣和/或反鋸齒模式之一的裝置;和用于將已經(jīng)與采樣和/或反鋸齒模式關(guān)聯(lián)的圖形片斷發(fā)給渲染器的渲染單元以供渲染的裝置;其中渲染器的一個或多個渲染單元包括用于確定與要渲染的圖形片斷關(guān)聯(lián)的采樣和/或反鋸齒模式的裝置;和用于根據(jù)所確定的采樣和/或反鋸齒模式配置渲染單元的裝置。因此,根據(jù)本發(fā)明的第二十三方面,提供了一種操作具有渲染器的圖形處理器的方法,所述渲染器包括一個或多個用于渲染圖形片斷以供顯示的渲染單元,該方法包括關(guān)聯(lián)要渲染的每個片斷和要用于渲染片斷的采樣和/或反鋸齒模式;和渲染單元,當它接收要渲染的片斷時確定與該片斷關(guān)聯(lián)的采樣和/或反鋸齒模式,所述渲染單元根據(jù)所確定的采樣和/或反鋸齒模式被配置,并且對接收的片斷執(zhí)行其渲染操作。圖形片斷能夠以任何適當?shù)姆绞脚c給定的反鋸齒和/或采樣模式關(guān)聯(lián)。最優(yōu)選地,每個片斷被分配一個標志或索引指針,其與片斷一起“穿過”渲染器并指明要用于該片斷的反鋸齒和/或采樣模式。渲染單元可接著使用片斷的采樣和/或反鋸齒標志或指針來為片斷確定適當?shù)牟蓸雍?或反鋸齒模式(例如,以從存儲該數(shù)據(jù)的存儲器中獲取適當?shù)牟蓸雍?或反鋸齒數(shù)據(jù))。采樣和/或反鋸齒標志或指針優(yōu)選地與其它用于“穿過”渲染器的片斷的數(shù)據(jù)(比如其RGBa值)關(guān)聯(lián)。標志或指針可識別實際的要使用的反鋸齒和/或采樣模式,但是在一個優(yōu)選實施例中,如將在下面討論的,不這樣做,而是簡單地指明(指向)存儲相關(guān)數(shù)據(jù)集合的存儲器單元。這降低了標志或指針的復雜性,因為潛在地其不需要區(qū)別可使用的所有可能的采樣和/或反鋸齒模式。在一個特別優(yōu)選的這種實施例中,要渲染的圖元與要用來渲染該圖元的反鋸齒和 /或采樣模式關(guān)聯(lián)(并用其來標記)(因為通常利用相同的單個反鋸齒和/或采樣模式來整體渲染給定的圖元),并接著,當圖元被柵格化成片斷時,每個片斷被分配有分配給圖元的反鋸齒和/或采樣模式指針或標志。因此優(yōu)選地,將圖元柵格化成片斷被用于將片斷與其對應的反鋸齒和/或采樣模式關(guān)聯(lián)。如本領域已知的,所存儲的片斷數(shù)據(jù)陣列將需要進一步被處理以供在輸出設備上顯示,并且特別地,通常將需要“下采樣”所存儲的片斷數(shù)據(jù)成適當?shù)淖罱K輸出的離散數(shù)據(jù)值的集合,比如顯示器的像素陣列的像素數(shù)據(jù)。該下采樣能以任何適當?shù)姆绞綀?zhí)行,比如通過使用在現(xiàn)有超采樣或多采樣方法中使用的縮放和下過濾技術(shù)。因此,當存儲在片斷陣列中的數(shù)據(jù)被回寫到顯示器的幀緩沖器以準備供其顯示時,下采樣(將存儲的片斷數(shù)據(jù)組合成更小的數(shù)據(jù)值)優(yōu)選地在“回寫”過程中發(fā)生。
(在一個特別優(yōu)選的實施例中,應用于片斷數(shù)據(jù)的下采樣水平可在使用中被選擇。 最優(yōu)選地,提供兩個連續(xù)的下采樣階段,其中之一或兩個可被激活。每個下采樣階段優(yōu)選地將其輸入數(shù)據(jù)下采樣相同的量。所應用的下采樣的實際水平可按期望被選擇。但是,例如在每像素使用四個位置樣本點的情況下,則每個連續(xù)的下采樣階段優(yōu)選地以四的因子進行下采樣。這將提供4x下采樣(如果只有一個階段被激活)或者如果兩個階段都被激活,則提供16x下采樣( 下采樣之后接著另一個4x下采樣)。為顯示改變下采樣的數(shù)據(jù)量的這種能力還增強了采樣和反鋸齒過程的靈活性,因為其例如允許以不同的速率(取決于例如片斷渲染是以多采樣還是以超采樣的方式來執(zhí)行)采樣邊緣和顏色。可優(yōu)選地以逐幀(就如本領域中已知的,其通常將是用于要下采樣的圖像的各個幀的數(shù)據(jù))的基礎來設置和選擇下采樣的水平。在提供兩個連續(xù)水平的下采樣的情況下, 最優(yōu)選地,下采樣的一個水平總是被激活,而下采樣的第二個水平可通過使用為每幀設置的寄存器有選擇地被應用。)所相信的是,這些方案在其自身方面可以是新的和有利的。因此,根據(jù)本發(fā)明的第二十四方面,提供了一種處理圖像以供在包括多個像素的顯示設備上顯示的方法,該方法包括渲染表示圖像的圖形片斷,以便為片斷生成片斷數(shù)據(jù);存儲渲染的片斷數(shù)據(jù)陣列;下采樣存儲的片斷數(shù)據(jù)以提供像素數(shù)據(jù)陣列,用于在顯示設備上顯示圖像;其中下采樣水平可改變,并且該方法還包括選擇要在渲染的片斷數(shù)據(jù)上使用的下采樣水平。根據(jù)本發(fā)明的第二十五方面,提供了一種處理圖像以供在包括多個像素的顯示設備上顯示的設備,該設備包括用于渲染表示圖像的圖形片斷的裝置,用于為片斷生成片斷數(shù)據(jù);用于存儲渲染的片斷數(shù)據(jù)陣列的裝置;用于下采樣存儲的片斷數(shù)據(jù)以提供像素數(shù)據(jù)陣列的裝置,用于在顯示設備上顯示圖像;其中下采樣水平可改變,并且該設備還包括用于選擇要在渲染的片斷數(shù)據(jù)上使用的下采樣水平的裝置。下采樣數(shù)據(jù)(例如被寫到幀緩沖器),還優(yōu)選地例如在它被寫到幀緩沖器之前被 gamma校正。(如本領域中已知的,由于顯示屏幕的特性,例如亮度等,要顯示的圖像的圖形顏色數(shù)據(jù)將通常需要對其進行修改以便在顯示屏幕上正確地顯示圖像??紤]到此而校正所生成數(shù)據(jù)的過程被稱為gamma校正)。該gamma校正能以本領域中已知的任何適當方式來執(zhí)行。盡管已經(jīng)主要參考單個圖形圖元的處理來描述了本發(fā)明,但本領域技術(shù)人員將理解的,要顯示的圖像將通常由多個圖元組成并因此在實際中,本發(fā)明的方法將對組成顯示器的每個圖元重復,使得最終已經(jīng)為需要顯示整個圖像(或圖像的相關(guān)部分。例如在基于瓦片的渲染系統(tǒng)中)的圖像的每個采樣點生成適當?shù)钠瑪鄶?shù)據(jù)集合,該數(shù)據(jù)接著可被下采樣以供顯示。至少在3D圖形處理的情況下,還需要確定圖元是否實際上在每個樣本點被看到 (例如圖元重疊之處)。因此,根據(jù)本發(fā)明的第二十六方面,提供了一種處理要顯示的圖像的圖形圖元的方法,該方法包括為要顯示圖像的多個采樣點集合的每個采樣點確定圖形圖元是否覆蓋了該采樣占.
^ \\\ 生成用于渲染圖元的圖形片斷集合,每個圖形片斷對應于被發(fā)現(xiàn)包括有由圖元所覆蓋的采樣點的采樣點集合;確定每個所生成的圖形片斷是否可能或?qū)谒@示的圖像中被看到;渲染為所確定的可能或?qū)谒@示的圖像中被看到的圖元生成的圖形片斷,以為每個這種圖形片斷確定片斷數(shù)據(jù)集合;和對于與被發(fā)現(xiàn)由圖元所覆蓋的所渲染圖形片斷對應的采樣點集合中的每個采樣點,在片斷數(shù)據(jù)陣列中存儲渲染的片斷數(shù)據(jù)集合。根據(jù)本發(fā)明的第二十七方面,提供了一種用于處理要顯示的圖像的圖形圖元的設備,該設備包括用于為要顯示圖像的多個采樣點集合的每個采樣點確定圖形圖元是否覆蓋了該采樣點的裝置;用于生成用于渲染圖元的圖形片斷集合的裝置,每個圖形片斷對應于被發(fā)現(xiàn)包括有由圖元所覆蓋的采樣點的采樣點集合;用于確定每個所生成的圖形片斷是否可能或?qū)谒@示的圖像中被看到的裝置;用于渲染為所確定的可能或?qū)谒@示的圖像中被看到的圖元生成的圖形片斷的裝置,用于為每個這種圖形片斷確定片斷數(shù)據(jù)集合;和用于對于與被發(fā)現(xiàn)由圖元所覆蓋的所渲染圖形片斷對應的采樣點集合中的每個采樣點,在片斷數(shù)據(jù)陣列中存儲渲染的片斷數(shù)據(jù)集合的裝置。在本發(fā)明的這些方面和實施例中,確定圖形片斷是否將會或可能在所顯示的圖像中被看到優(yōu)選地包括執(zhí)行適當?shù)纳疃葴y試,如本領域已知的,以確定圖元(片斷)是否實際上將在所涉及的位置上被看到。因此,在一個特別優(yōu)選的這樣的實施例中,當片斷陣列的給定樣本位置的片斷要被渲染時,其深度值優(yōu)選地與已經(jīng)存儲在片斷陣列中的該樣本位置的任何片斷數(shù)據(jù)的深度值相比較,并且如果深度值比較指明新的片斷將代替現(xiàn)在存儲的片斷而被看到,則只渲染新的片斷(并且將其數(shù)據(jù)存儲在片斷陣列中)。根據(jù)本發(fā)明的第二十八方面,提供了一種處理圖像以供顯示的方法,其中要顯示的圖像被劃分成用于處理的一個或多個圖形圖元,并且用于顯示圖像的片斷數(shù)據(jù)被生成且被存儲為對應于圖像樣本位置陣列的片斷數(shù)據(jù)陣列,該方法包括生成有一個或一個以上的圖形片斷的集合,用于渲染圖像的每個圖元,每個片斷對應于圖像的采樣點集合并用于共同渲染由采樣點集合的圖元所覆蓋的一個或一個以上的采樣點;
渲染一些或所有生成的圖形片斷,以便為每個渲染的片斷生成渲染的片斷數(shù)據(jù)集合;和對于一些或所有渲染的片斷,在片斷數(shù)據(jù)陣列中存儲在片斷數(shù)據(jù)陣列的一個或多個位置處的渲染片斷的渲染片斷數(shù)據(jù)的副本,所述一個或多個位置對應于片斷被共同渲染的一個或多個樣本位置。根據(jù)本發(fā)明的第二十九方面,提供了一種用于處理包括一個或多個圖形圖元的圖像以供顯示的設備,該設備包括用于存儲與圖像的樣本位置陣列對應的片斷數(shù)據(jù)陣列的裝置,用于生成有一個或一個以上的圖形片斷的集合的裝置,用于渲染圖像的每個圖元,每個片斷對應于圖像的采樣點集合并用于共同渲染由采樣點集合的圖元所覆蓋的一個或一個以上的采樣點;渲染一些或所有生成的圖形片斷的裝置,用于為每個渲染的片斷生成渲染的片斷數(shù)據(jù)集合;和用于在片斷數(shù)據(jù)陣列中存儲在片斷數(shù)據(jù)陣列的一個或多個位置處的渲染片斷的渲染片斷數(shù)據(jù)的副本的裝置,所述一個或多個位置對應于片斷被共同渲染的一個或多個樣本位置。如從上將會理解的,本發(fā)明的這些方面可以且優(yōu)選地包括這里描述的本發(fā)明的一個或多個或所有的優(yōu)選和可選特征。因此,例如,在適當?shù)那闆r下,將把要渲染的新片斷 (來自新的圖元)的深度值優(yōu)選地與已經(jīng)為所涉及的樣本位置存儲的片斷(如果有的話) 的深度值比較,以確定新的片斷是否應當被渲染。類似地,所存儲的渲染片斷數(shù)據(jù)陣列優(yōu)選地被下采樣以提供例如像素數(shù)據(jù),其可用于顯示最終的圖像。將從上面理解,在本發(fā)明的操作中,取得要顯示的圖像(或一部分的圖像)的多個樣本,并且為圖像的每個樣本存儲單獨的片斷數(shù)據(jù)集合。但是,盡管為每個樣本存儲單獨的數(shù)據(jù)集合,但可以(且優(yōu)選地)共同渲染這些樣本。因此,根據(jù)本發(fā)明的第三十方面,提供了一種處理圖像以供顯示的方法,包括取得要顯示的所有或一部分圖像的多個樣本;渲染樣本以生成渲染的樣本數(shù)據(jù),其中樣本中的至少兩個被共同渲染;和為圖像或一部分圖像所取得的每個樣本,存儲渲染的樣本數(shù)據(jù)集合。根據(jù)本發(fā)明的第三十一方面,提供了一種處理圖像以供顯示的設備,包括用于取得要顯示的所有或一部分圖像的多個樣本的裝置;用于渲染樣本的裝置,用于生成渲染的樣本數(shù)據(jù);和用于為圖像或一部分圖像所取得的每個樣本,存儲渲染的樣本數(shù)據(jù)集合的裝置; 其中用于渲染樣本的裝置包括用于共同渲染圖像樣本的裝置。根據(jù)本發(fā)明的第三十二方面,提供了一種處理要顯示的圖像的圖形圖元的方法, 該方法包括為要顯示圖像的多個采樣點集合的每個采樣點確定圖形圖元是否覆蓋了該采樣占.
^ \\\ 為被發(fā)現(xiàn)包括有由圖元所覆蓋的采樣點的每個采樣點集合,生成用于渲染的一個或多個圖形片斷,每個圖形片斷對應于由該圖元所覆蓋的采樣點集合的一個或一個以上的采樣點;渲染為圖元生成的一個或多個圖形片斷,以便為每個渲染的圖形片斷確定片斷數(shù)據(jù)集合;和對于片斷所對應的每個所覆蓋的采樣點,在一個或多個渲染的圖形片斷的片斷數(shù)據(jù)陣列中存儲渲染片斷的渲染片斷數(shù)據(jù)的副本。根據(jù)本發(fā)明的第三十三方面,提供了一種處理要顯示的圖像的圖形圖元的設備, 該設備包括用于為要顯示圖像的多個采樣點集合的每個采樣點確定圖形圖元是否覆蓋了該采樣點的裝置;用于為被發(fā)現(xiàn)包括有由圖元所覆蓋的采樣點的每個采樣點集合,生成用于渲染的一個或多個圖形片斷的裝置,每個圖形片斷對應于由該圖元所覆蓋的采樣點集合的一個或一個以上的采樣點;用于渲染為圖元生成的圖形片斷的裝置,用于為每個渲染的圖形片斷確定片斷數(shù)據(jù)集合;和用于對于片斷所對應的每個所覆蓋的采樣點,在片斷數(shù)據(jù)陣列中存儲渲染片斷的渲染片斷數(shù)據(jù)的副本。在特別優(yōu)選的實施例中,可在單個圖形處理平臺上執(zhí)行本發(fā)明的各種功能,該單個圖形處理平臺生成和輸出寫到顯示設備的幀緩沖器的數(shù)據(jù)。因此特別地,在該數(shù)據(jù)被輸出到顯示設備的幀緩沖器之前,對于下采樣所存儲的幀數(shù)據(jù)到“像素數(shù)據(jù)”來說優(yōu)選的是在該圖形處理平臺上被執(zhí)行,如此降低了必須從圖形平臺輸出的數(shù)據(jù)容量。實際上,相信在將數(shù)據(jù)輸出到用于顯示的顯示設備的單獨的外部幀緩沖器(即, 其不在圖形處理平臺上)之前,提供圖形處理方案是尤其有利的并且進而在其自身方面是新的和有利的,其中在圖形處理平臺上執(zhí)行所有圖形處理,包括任何后渲染向下采樣。因此,根據(jù)本發(fā)明的第三十四方面,提供了一種處理圖形以供顯示的方法,包括在圖形處理平臺上渲染一個或多個圖形片斷,以生成供顯示的渲染片斷數(shù)據(jù);在圖形處理平臺上下采樣渲染的片斷數(shù)據(jù);和將來自圖形處理平臺的下采樣片斷數(shù)據(jù)輸出到幀緩沖器以供顯示。根據(jù)本發(fā)明的第三十五方面,提供了一種圖形處理平臺,包括用于渲染一個或多個圖形片斷的裝置,用于生成供顯示的渲染片斷數(shù)據(jù);用于下采樣渲染的片斷數(shù)據(jù)的裝置;和用于將下采樣的片斷數(shù)據(jù)輸出到幀緩沖器以供顯示的裝置。如本領域技術(shù)人員將理解的,本發(fā)明的這些方面和實施例能夠且優(yōu)選地適當包括這里所描述的本發(fā)明的一個或多個或所有的優(yōu)選和可選特征。因此例如,渲染片斷數(shù)據(jù)在下采樣之前(并且在輸出到(遠程)幀緩沖器之前)被優(yōu)選地存儲在圖形處理平臺上的一個或多個中間緩沖器,比如(且優(yōu)選地)一個或多個瓦片緩沖器。本發(fā)明可應用于渲染器的任何形式或構(gòu)造,比如具有“流水線”方案的渲染器(在該情況下,渲染器將以渲染流水線的形式)。其可應用于所有形式的渲染,比如中間模式渲染、延遲模式渲染、基于瓦片的渲染等,盡管其尤其可應用于使用延遲模式渲染的圖形渲染器并特別可應用于基于瓦片的渲染器。如從上理解的,盡管不是專門的,但本發(fā)明尤其可應用于3D圖形處理器和處理設備,并且由此擴展到3D圖形處理器和3D圖形處理平臺,其包括根據(jù)這里描述的本發(fā)明的任何一個或多個方面的或據(jù)此操作的設備。受執(zhí)行上述特定功能所需的任何硬件的制約,比如3D圖形處理器可另外包括任何一個或多個或所有普通的功能單元等,它們由3D圖形處理器包括。本領域技術(shù)人員還將理解,本發(fā)明的所有描述的方面和實施例能夠且優(yōu)選地適當包括這里所描述的任何一個或多個或所有的優(yōu)選和可選特征。根據(jù)本發(fā)明的方法可至少部分地使用軟件,例如計算機程序來實現(xiàn)。因此將看到, 當從另外的方面看去時,本發(fā)明提供專門適用于當安裝在數(shù)據(jù)處理裝置上時執(zhí)行這里所描述方法的計算機軟件,提供包括計算機軟件代碼部分的計算機程序單元,用于當程序單元在數(shù)據(jù)處理裝置上運行時執(zhí)行這里所述的方法,和提供包括代碼裝置的計算機程序,適用于當程序在數(shù)據(jù)處理系統(tǒng)上運行時執(zhí)行這里所描述的一個或多個方法的所有步驟。本發(fā)明還擴展到計算機軟件載體,其包括這種當用于操作包括數(shù)據(jù)處理裝置的圖形處理器、渲染器或微處理器系統(tǒng)時引起所述數(shù)據(jù)處理裝置與所述處理器、渲染器或系統(tǒng)結(jié)合以執(zhí)行本發(fā)明方法的步驟的軟件。這種計算軟件載體可以是物理存儲介質(zhì),比如ROM芯片、CD ROM或盤,或者可以是信號,比如線路上的電信號、光信號或無線電信號,比如到達衛(wèi)星等的信號。還將理解,不是本發(fā)明方法的所有步驟都需要由計算機軟件來執(zhí)行,并因此從更寬的方面,本發(fā)明提供計算機軟件和這種安裝在計算機軟件載體上的軟件,用于執(zhí)行這里所述的方法的所有步驟中的至少一個。本發(fā)明可由此適合于被體現(xiàn)為與計算機系統(tǒng)一起使用的計算機程序產(chǎn)品。這種實現(xiàn)可包括一系列計算機可讀指令,要么固定在有形介質(zhì)上,比如計算機可讀介質(zhì),例如磁盤、CD-ROM、ROM或硬盤,要么可經(jīng)由調(diào)制解調(diào)器或其它接口設備通過有形介質(zhì)傳輸?shù)接嬎銠C系統(tǒng),該有形介質(zhì)包括但不限于光或模擬通信線路,或通過無形地使用無線技術(shù),包括但不限于微波、紅外或其它傳輸技術(shù)。計算機可讀指令序列體現(xiàn)了所有或部分的這里之前所描述的功能。本領域技術(shù)人員將理解,這種計算機可讀指令能夠以多種程序設計語言編寫,以便與許多計算機架構(gòu)或操作系統(tǒng)一起使用。此外,這種指令可利用任何當前或?qū)淼拇鎯ζ骷夹g(shù)來存儲,包括但不限于半導體、磁、或光,或者利用任何當前或?qū)淼耐ㄐ偶夹g(shù)來傳輸,包括但不限于光、紅外或微波。想得到的是,這種計算機程序產(chǎn)品可作為帶有附帶的打印或電子文檔的可移除介質(zhì)而被分發(fā),比如收縮包裝的軟件、與計算機系統(tǒng)一起例如預先裝載在系統(tǒng)ROM或固定盤上,或通過網(wǎng)絡,例如互聯(lián)網(wǎng)或萬維網(wǎng)從服務器或電子公告牌分發(fā)。
將只通過舉例的方式且參考附圖來描述本發(fā)明的多個優(yōu)選實施例,其中圖1示意性示出鋸齒的效果;圖2示意性示出超采樣反鋸齒技術(shù);圖3示意性示出要顯示的圖形;
23
圖4示出在本發(fā)明的實施例中使用的示例采樣模式;圖5示出可根據(jù)本發(fā)明來操作的圖形處理平臺的實施例;圖6示出圖3的像素的放大圖;圖7說明在本發(fā)明的實施例中與要渲染的片斷關(guān)聯(lián)的數(shù)據(jù);圖8和9示出在本發(fā)明的實施例中使用的示例采樣方案;圖10示意性示出在本發(fā)明的實施例中生成圖形片斷;和圖11示出圖形處理平臺能夠根據(jù)本發(fā)明操作的部分的擴展示意圖。
具體實施例方式現(xiàn)在在用于顯示的3D圖形處理環(huán)境中描述本發(fā)明的優(yōu)選實施例。但是,如本領域技術(shù)人員將理解的,本發(fā)明不限于3D圖形處理且還具有其它的應用。如本領域所知道的,且如上所述,當3D圖形圖像要被顯示時,通常首先將其定義為一系列的圖元(多邊形),所述圖元可接著被劃分(柵格化)成圖形片斷,以供依次圖形渲染。在普通3D圖形渲染操作期間,渲染器將修改(例如)與每個片斷關(guān)聯(lián)的顏色(紅、 綠、藍,RGB)和透明度(alpha,a)數(shù)據(jù),使得片斷可被正確地顯示。一旦片斷已經(jīng)完全穿過渲染器,則它們關(guān)聯(lián)的數(shù)據(jù)值被存儲在存儲器中,以準備輸出以供顯示。本發(fā)明尤其考慮了當顯示圖形圖像時便于反鋸齒操作。如本領域所知道的,通過取得要顯示的圖像的多個樣本并接著下采樣那些樣本為顯示器的輸出分辨率來執(zhí)行反鋸齒。圖3示意性示出在本實施例中使用的反鋸齒方案。圖3示意性示出像素陣列30, 其在本發(fā)明中表示要顯示的一部分的圖像(因為,如下面所要討論的,本發(fā)明是基于瓦片的渲染系統(tǒng))(盡管同等地,像素集合可以被認為表示圖像的整個顯示)。如圖3所示,每個像素包括四個采樣點31的集合,其將用于采樣所涉及像素的圖像并由此確定如何在最后的顯示上顯示像素。如圖3所示,相同的采樣模式31用于像素陣列30中的每個像素。在該實施例中, 采樣模式可以是旋轉(zhuǎn)的網(wǎng)格采樣模式,盡管任何其它適當?shù)姆翠忼X采樣模式可以使用,如果想的話。圖4示出了單個像素的擴展圖,示出了采樣點在像素內(nèi)的采樣模式中的位置。圖3還示出了在像素陣列30上以單個圖元32的形式重疊的圖像。(這里將會理解,為了簡化已經(jīng)在圖3中示出,圖像包括單個圖元,并且實際中圖像可以且通常包括多個重疊的圖元,如本領域中已知的。)如圖3所示,圖元32完全重疊像素陣列30中的一些像素,但是只穿過一些其它像素的一部分。為了處理圖像的圖元32,渲染系統(tǒng)將實際上確定每個像素的每個采樣點集合中的哪些樣本點由圖元32覆蓋,并且接著渲染和存儲那些所覆蓋的樣本點的數(shù)據(jù),使得圖元32 的圖像可正確地顯示在顯示設備上?,F(xiàn)在將參考圖5來描述在本實施例中以這種方式處理圖元32的圖像以供顯示,圖 5示意性示出可根據(jù)本發(fā)明操作的3D圖形處理平臺的實施例。圖5中示出的3D圖形處理平臺是基于瓦片的渲染器,盡管將由本領域技術(shù)人員所理解的,其它渲染方案可使用(并實際上,本發(fā)明也可等效地應用于二維圖形處理)。圖5所示的圖形處理平臺包括柵格化器50,柵格化器50接收用于渲染的圖形圖元并將圖元數(shù)據(jù)轉(zhuǎn)換成具有適當部分的圖形片斷,以渲染圖元。那么存在以渲染流水線形式的渲染器51,其從柵格化器50接收用于渲染的圖形片斷,并將多個渲染選項,比如紋理映射、霧化和混和等應用到那些圖形片斷,以生成適當?shù)钠瑪鄶?shù)據(jù)以供顯示片斷。來自渲染器51的渲染片斷數(shù)據(jù)存儲在渲染流水線的瓦片緩沖器52中以用于隨后的處理。如本領域所知的,瓦片緩沖器52存儲表示要顯示的部分圖像的片斷數(shù)據(jù)陣列。一旦每個瓦片已經(jīng)被處理,則其數(shù)據(jù)被輸出到適當?shù)拇鎯ζ?,并且接著處理下一個瓦片,等等,直到已經(jīng)處理了足夠的瓦片來顯示整個圖像。在本實施例中,提供了四個瓦片緩沖器52。每個瓦片緩沖器存儲其片斷數(shù)據(jù)到一個32X32陣列(即,對應于要顯示的圖像中的樣本位置的32X32陣列)。這些瓦片緩沖器可作為單獨的緩沖器提供,或可以實際上都是同一更大的緩沖器的一部分。它們位于(本地于)圖形處理平臺(芯片)。來自瓦片緩沖器52的數(shù)據(jù)被輸入到下采樣單元53,并接著被輸出到顯示設備55 的幀緩沖器M (其可不在圖形處理平臺本身上)以便在顯示設備55上顯示,如本領域已知的。顯示設備55可以例如包括顯示器,該顯示器包括像素陣列,比如計算機監(jiān)視器。下采樣單元53下采樣存儲在瓦片緩沖器中的片斷數(shù)據(jù)到顯示設備55的適當分辨率(即使得生成對應于顯示設備像素的像素數(shù)據(jù)陣列)。在本實施例中,根據(jù)本發(fā)明,圖像的采樣點在瓦片緩沖器32中具有它們自己各自的片斷數(shù)據(jù)條目。因此,每個32X32數(shù)據(jù)位置瓦片緩沖器例如將對應于要顯示的圖像中的 16X16像素陣列,其中虹下采樣用在瓦片緩沖器和顯示器幀緩沖器之間(因為,在該情況下,每個像素將有效地具有與其關(guān)聯(lián)的四個采樣點)。在本實施例中,四個瓦片緩沖器中的兩個用于為每個采樣點存儲顏色(紅、綠、 籃)值(可能的是,為此目的使用一個瓦片緩沖器,但兩個是優(yōu)選的),一個瓦片緩沖器用于為每個采樣點存儲Z (深度)值,并且一個用于為每個采樣點存儲模板值。其它方案當然是可能的。盡管每個采樣點都在瓦片緩沖器52中具有它們自己各自的片斷數(shù)據(jù)條目,但在本實施例中,也根據(jù)本發(fā)明,不是去渲染瓦片緩沖器52中的每個各自樣本(數(shù)據(jù))位置(即每個各自樣本點)的單獨片斷,而是為與圖像中的給定像素對應的每個有四個樣本點的集合渲染一個片斷。換句話說,單個片斷用于一下子一起渲染樣本點集合的(以及由此圖像中的像素的)所有四個樣本點,即使得給定像素的樣本點都被共同渲染。接著,一旦已經(jīng)渲染了片斷,則渲染的片斷數(shù)據(jù)在瓦片緩沖器52的適當樣本位置中存儲為多個副本,以便為圖像所取得的每個各自的樣本位置提供單獨的片斷數(shù)據(jù)集合。因此,在本例子中,考慮到圖像包括如圖3所示的圖元32,柵格化器50將從圖像處理系統(tǒng)接收圖元,并接著確定哪些圖像的采樣點集合(即實際上是像素陣列30中的哪些像素)包括由圖元32覆蓋的采樣點。(這可用本領域已知的任何適當方式來執(zhí)行。)柵格化器50將接著為被發(fā)現(xiàn)包括有由圖元32所覆蓋的采樣點的每個采樣點集合生成片斷。它接著還將那些片斷傳遞到渲染器51以供渲染。圖7示意性示出在每個片斷被渲染之前為它生成且穿過渲染器51的數(shù)據(jù)70。如圖7所示,與每個片斷關(guān)聯(lián)的數(shù)據(jù)尤其包括片斷的X,y位置71 (其表示片斷所對應的采樣點集合在圖像中的x,y位置(實際上在圖像的有關(guān)像素的本實施例中)),以及必要的每片斷數(shù)據(jù)72,比如片斷的顏色(RGB)、透明度(alpha)、深度(ζ)和模板值。如本領域已知的, 該每片斷數(shù)據(jù)72通過渲染器51的渲染單元被使用和適當修改,以便為之后存儲在瓦片緩沖器52中的片斷提供輸出的瓦片數(shù)據(jù)集合。與片斷關(guān)聯(lián)的數(shù)據(jù)70還包括覆蓋掩碼73,其以比特陣列的形式,表示樣本點集合內(nèi)片斷所對應的每個樣本位置。如果對應的樣本位置由所涉及的圖元覆蓋,則比特陣列覆蓋掩碼73中的每個位置被設置為“ 1”,且如果樣本位置不由所涉及的圖元覆蓋,則設置為 “0”。這允許渲染過程知道與給定片斷關(guān)聯(lián)的哪些樣本點實際上由所涉及的圖元32覆蓋, 使得渲染過程能確保只為由圖元覆蓋的樣本點存儲片斷的渲染片斷數(shù)據(jù)。這是必須的,因為可以從圖3看出,對于像素不是所有的樣本點集合的樣本點將必須由圖元覆蓋。例如,如圖6所示,圖6示出與要渲染的圖元32有關(guān)的圖3中的像素33 的采樣點集合的放大圖,可以查看像素33的采樣點集合,采樣點43和44由圖元32覆蓋, 但是采樣點45和46不由該圖元覆蓋。柵格化器50將因此為像素33的樣本位置集合生成用于渲染的片斷,因為該樣本位置集合包括兩個由圖元32覆蓋的樣本位置43、44。但是,由于圖元32只覆蓋樣本位置43、44,所以只對于那些樣本位置而不對于樣本位置45、46將渲染的片斷數(shù)據(jù)應當存儲在瓦片緩沖器52中。因此,對于圖6所示的像素33的樣本位置集合,柵格化器將生成形式“1100”的覆蓋掩碼73(如圖7所示)以指明樣本位置43、44正在由片斷70渲染,但是樣本位置45、46 沒有被該片斷渲染(因為它們沒有被圖元32覆蓋)。因此,當柵格化器50接收用于渲染的圖元32時,其首先確定陣列30的哪些采樣點(像素)集合包括由圖元32覆蓋的采樣點,并對于那些采樣點集合的每一個生成一個片斷,該片斷與圖7所示形式的其數(shù)據(jù)關(guān)聯(lián)。將接著把每個片斷依次傳遞到渲染器51以供渲染。如本領域已知的,渲染器51對其接收的片斷執(zhí)行渲染操作。這些渲染操作將例如包括修改片斷的顏色(RGB)和透明度㈧值,以便為每個片斷提供最后的渲染片斷數(shù)據(jù)。在本實施例中,渲染器51包括紋理映射級,其基于與每個片斷關(guān)聯(lián)的紋理位置數(shù)據(jù)(s,t)執(zhí)行紋理映射過程(這沒有在圖7中示出)。在本實施例中,根據(jù)用片斷共同渲染的所覆蓋采樣點的圖像中的地方(位置),來選擇紋理映射過程使用的用來確定將應用于片斷的紋理(顏色)的圖像內(nèi)的位置,即使用 “加權(quán)的”紋理樣本位置。例如,如果樣本覆蓋掩碼是“1111”(即所有樣本點都被覆蓋),則從樣本模式的中心取得紋理樣本(就如在那些情況下取得它的最好位置)。類似地,如果樣本覆蓋掩碼是 “ 1000”,則取得紋理樣本的最好位置是圖像中對應于單個所覆蓋采樣點的位置,等等。如在本實施例中那樣,每個片斷與四個可能的樣本位置關(guān)聯(lián)(在與每個片斷關(guān)聯(lián)的樣本覆蓋掩碼中有四個比特),由此存在16個優(yōu)選的(加權(quán)的)紋理采樣位置(對應于與每個片斷關(guān)聯(lián)的覆蓋掩碼的16個可能組合)。這些優(yōu)選的紋理樣本位置根據(jù)它們相應的對應樣本覆蓋掩碼而被存儲在(16條目)的表中。紋理映射級接著使用該表來基于與片斷關(guān)聯(lián)的覆蓋掩碼來查找和確定在什么地方為任何給定的片斷取得紋理樣本。
其它紋理樣本位置方案當然是可能的。例如,紋理樣本位置可以在使用中被計算, 而不是從查找表中獲取。例如在每片斷四個以上的采樣點是可能的情況,這是所期望的和實際需要的。等同地,如果需要,也可使用沒那么復雜的文本采樣過程。例如,可簡單地在所涉及的采樣模式的中心進行所有紋理查找。這里將理解的是,由于每個片斷進行了單個紋理查找,所以每個片斷對應的采樣點集合共同進行了單個紋理查找(即,紋理操作被用于與片斷關(guān)聯(lián)的采樣點集合的所有采樣點),即以多采樣的方式來有效地處理采樣點集合。一旦片斷已經(jīng)被渲染,則它們的數(shù)據(jù)需要被適當?shù)卮鎯υ谕咂彌_器52中。根據(jù)本發(fā)明,用于每個渲染片斷的數(shù)據(jù)被存儲在瓦片緩沖器陣列的適當相同位置中,如與每個片斷關(guān)聯(lián)的覆蓋掩碼73所指明的。因此例如,在圖7中示例的片斷70的情況下,該片斷的渲染數(shù)據(jù)將存儲在瓦片緩沖器52的樣本位置的兩個中,但是不存儲在與片斷70關(guān)聯(lián)的另外兩個樣本位置中。如上所述,存儲在瓦片緩沖器52中的片斷數(shù)據(jù)包括每個采樣位置的顏色(RGB)、 透明度(A)、深度(Z)和模板值。該數(shù)據(jù)能以任何適當?shù)男问酱鎯ΑH绫绢I域技術(shù)人員將理解的,在瓦片緩沖器中要存儲的新渲染的片斷數(shù)據(jù)可能且通常將需要與已經(jīng)存儲在瓦片緩沖器中的數(shù)據(jù)混和,如本領域已知的。因此,在給定片斷正用于共同渲染一個以上的樣本位置時(即,使得來自片斷的數(shù)據(jù)將存儲在瓦片緩沖器的多個片斷位置中),那么該混和操作應以適當?shù)姆绞綀?zhí)行以實現(xiàn)此,即將新渲染的片斷數(shù)據(jù)適當?shù)鼗旌偷酵咂彌_器的每個適當樣本位置中。因此例如,混和操作例如能夠以適當?shù)摹安⑿小狈绞絹韴?zhí)行,以將渲染的片斷數(shù)據(jù)混和到多個并行的瓦片緩沖器中。一旦已經(jīng)對與圖元32有關(guān)的所有片斷完成了該過程,則可以為圖像的后續(xù)圖元重復該過程(因為如上所述,圖像將通常由多個圖元組成,而不僅僅是單個圖元3 。為圖像的所有圖元重復該過程,直到瓦片緩沖器52在其每個樣本位置中存儲有適當?shù)臄?shù)據(jù)。如本領域已知的,在瓦片緩沖器中存儲的數(shù)據(jù)可接著被輸出到下采樣單元53,以便下采樣并隨后輸出到幀緩沖器討以供顯示。該下采樣能以任何適當?shù)姆绞綄崿F(xiàn)。在本實施例中,數(shù)據(jù)的線性混和用于下采樣數(shù)據(jù)。但是,如果期望,其它方案也是可能的。在要顯示的圖像包括多個重疊的圖元時,如本領域已知的,對于渲染過程來說還將需要確定在給定的采樣點是否實際上看到任何給定的圖元。在本實施例中,如本領域已知的,這是通過在片斷被渲染時比較片斷的深度(ζ)值來執(zhí)行的。特別地,當新片斷要被渲染時,將該片斷關(guān)聯(lián)的深度(ζ)值與為樣本位置已存儲在該片斷所對應的瓦片緩沖器52中的片斷數(shù)據(jù)的深度值比較,并且如果該比較指明將看不到新的片斷,則不再處理新的片斷。 另一方面,如果深度值比較指明事實上新的片斷將代替當前存儲在瓦片緩沖器52中的片斷而被看到,則新的片斷被渲染且其渲染的片斷數(shù)據(jù)被存儲以代替在瓦片緩沖器52中存儲的適當樣本位置的現(xiàn)有數(shù)據(jù)。在本實施例中,下采樣單元53被如此設置使得其能有選擇地對存儲在瓦片緩沖器52中的數(shù)據(jù)應用兩個不同水平的下采樣。特別地,下采樣單元能首先提供四倍的下采樣操作,即使得存儲在瓦片緩沖器52 中的有四個數(shù)據(jù)條目的陣列(即2X2樣本位置)會被下采樣成幀緩沖器M的單個輸出數(shù)
27據(jù)值。該方案是下采樣單元53的普通操作模式,因為它會取得四個樣本值并且將它們下采樣成單個值,對應于為如圖3所示的圖像中每個像素所取得的四個樣本。在該方案中, 32X32陣列的瓦片緩沖器52將被下采樣成(并對應于)在幀緩沖器M中的16 X 16像素陣列。但是,下采樣單元53還能選擇性地應用附加的虹下采樣操作,該操作因此將有效地為圖像的位置樣本提供16x下采樣方案(即,使得瓦片緩沖器52中的8 X 8樣本位置陣列將合并成幀緩沖器M的單個值)。其效果是,可能存在有效地16x位置(邊緣)采樣(由于在圖3中所示的原始圖像中的16個樣本位置將被下采樣為單個值),以及虹紋理(顏色)采樣(由于,如上所述,在本實施例中,為每四個位置樣本取得單個紋理樣本(即,每個有四個采樣點的集合))。圖8說明了此,并且示出了四個有四個采樣點81的集合,每個集合在16x方案中將被下采樣成單個值以供輸出。圖8還示出了四個顏色(紋理)樣本82的位置,這些樣本將被取得并還被下采樣成單個顏色值作為過程的一部分。在該方案中,32X32陣列的瓦片緩沖器將被下采樣成(并對應于)幀緩沖器M中的8X8像素陣列。在本實施例中,下采樣水平以每幀為基礎來設置,并存儲在適當?shù)募拇嫫髦?,當寄存器接收到用于渲染的幀時,渲染過程就查找該寄存器。圖8所示的方案在每個各自的那些樣本的集合中,為位置樣本81使用相同的采樣模式和為顏色樣本82使用相同的位置。這意味著下采樣操作是有效的排序網(wǎng)格方案,因為樣本中的一些在圖像中具有相同的X或y坐標。如本領域已知的,這將降低所執(zhí)行的有效的下采樣水平。因此在該方案中對于在將組合的四個樣本集合的每一個中的位置以及顏色采樣位置來說,優(yōu)選地是使最終的輸出值稍微彼此相關(guān)地變化如在它們的X,y坐標之間變化, 以便確保實際中取得十六個唯一的位置樣本和四個唯一的顏色樣本。這優(yōu)選地是通過稍微移動四個樣本集合的每個樣本的位置來實現(xiàn)的,所述四個樣本集合將最終被下采樣成最終的輸出數(shù)據(jù)值。這優(yōu)選地是通過為所有的樣本位置集合設置基礎的樣本位置集合并接著為樣本集合中的三個將該基礎的集合的位置在每個集合的不同方向上相對地移動一個給定量來完成。圖9在位置樣本81的集合方面說明了此。圖9中的箭頭91示出了不同樣本集合(本實施例中的像素)中的每一個的樣本位置的相對移動方向,當數(shù)據(jù)被16x下采樣時, 不同的樣本集合最終被組合。這種方案將確保所使用的每個樣本將具有唯一的χ和y坐標。(這種方案優(yōu)選地只當在下采樣單元53中啟用附加的下采樣水平(即到16x下采樣)時才被啟用)。下采樣單元53還將適當?shù)膅amma校正應用于其輸出到幀緩沖器M的數(shù)據(jù)。盡管已經(jīng)在使用單個片斷來渲染每個采樣點集合的上下文中描述了上面實施例的操作,但是在優(yōu)選的實施例中,如果期望,對于柵格化器和渲染過程還可能為每個采樣點集合生成和渲染多個片斷以供渲染。特別地,還可能在圖元覆蓋給定片斷所對應的采樣點集合中的一個以上的采樣點的情況下,優(yōu)選地將渲染過程設置成生成多個片斷以供渲染。因此,在另一個實施例中,柵格化器為片斷確定圖元是否覆蓋了采樣點集合中的一個以上的采樣點,并且如果是這樣,則能(并優(yōu)選地)為由圖元所覆蓋的采樣點集合中的每個采樣點生成(單獨的)片斷以供渲染。所生成的片斷接著優(yōu)選地與采樣點集合中的不同采樣點關(guān)聯(lián)(通過適當?shù)卦O置其覆蓋掩碼73),使得不同的片斷將例如用于渲染每個所覆蓋的采樣點。這具有為由圖元覆蓋的采樣點生成附加的紋理查找(顏色樣本)的效果,即使得實際中不是單個顏色樣本用于共同渲染采樣點集合中所覆蓋的采樣點,而是一個以上的顏色樣本將被使用(因為將為采樣點集合渲染一個以上的片斷)。這將允許渲染過程更加以超采樣的方式操作。圖10說明了該過程。在圖10中,示出了已經(jīng)生成的示例片斷92,對于該片斷已經(jīng)確定了片斷所對應的有四個采樣點的集合中的三個采樣點由所涉及的圖元覆蓋。因此,片斷92的覆蓋掩碼93的形式如圖10中所示的“1101”。根據(jù)本發(fā)明的該實施例,系統(tǒng)接著生成與片斷92對應的三個片斷94、95、96 (因為片斷92對應的采樣點中的三個由圖元覆蓋),如圖10所示,每個這樣的片斷具有相同的基本片斷數(shù)據(jù)(即至少初始的顏色(紅、綠、藍)和深度(ζ)值)作為片斷92,但是相應片斷的覆蓋掩碼97、98和99被如此設置使得每個片斷有效地被指明為只對應于單個覆蓋的采樣點。三個片斷94、95和96的每個將依次被渲染,并且如由其覆蓋掩碼所指明的那樣,為每個片斷對應的采樣位置存儲它們的渲染數(shù)據(jù)。以該方式,不是單個片斷92用于渲染所有由圖元覆蓋的三個采樣點,而是三個不同的片斷用于渲染那些采樣點,因此將為瓦片緩沖器52中的三個采樣點存儲所渲染片斷數(shù)據(jù)的三個不同集合。渲染過程因此能夠看作為被有效地超采樣。該方案因此允許渲染過程以更加超采樣的方式操作,但例如不要求控制圖形處理器的驅(qū)動程序或應用軟件知道該操作的任何知識,因為對渲染方案的改變不是由圖形處理器本身執(zhí)行的。本領域已知的,這種“超采樣”操作可尤其對于所謂alpha紋理的圖形有用。圖11示意性示出能根據(jù)以上實施例操作的圖形處理平臺的方案。如從圖11中看到的,對于圖5所示的圖形處理平臺,圖11所示的圖形處理平臺有類似的結(jié)構(gòu)并具有類似的部件,并由此相同的附圖標記已經(jīng)用于相同的部件。等效地,除非另外聲明,圖11的圖形處理平臺以與上述有關(guān)圖5和本申請剩余附圖的圖形處理平臺相類似的方式操作。因此,圖11所示的圖形處理平臺包括柵格化器50,柵格化器50為被發(fā)現(xiàn)包括有由所涉及的圖元覆蓋的采樣點的圖像的每個采樣點集合生成片斷100。但是,如圖11所示,則存在附加的片斷生成器級101,當附加的片斷生成器級101被激活時其將以上面討論的方式為被發(fā)現(xiàn)包括有由給定圖元覆蓋的一個以上采樣點的采樣點集合生成多個片斷102。這里應注意到,如在圖11中的通路105所示,如果期望可旁路片斷生成器級 101 (即使得將利用單個片斷100來渲染采樣點集合)。如此旁路片斷生成器級101能優(yōu)選地在使用中有選擇地被激活和設置(或不這樣),優(yōu)選地基于每個片斷、每個圖元、每個瓦片和/或每個景物,或這些的所期望的任意組合按期望來在使用中有選擇地被激活和設置 (或不這樣)。這允許片斷生成器級101在使用中例如對于給定圖元或片斷等,有選擇地被激活(并因此使渲染器能夠被配置成操作用于為給定的采樣點集合產(chǎn)生多個片斷,或不產(chǎn)生)。如果片斷生成器級101被旁路,則片斷100僅僅被直接發(fā)送到渲染和紋理單元51以供渲染,如圖11中的通路105所示。片斷生成器101是否被旁路被優(yōu)選地設置為景物和/或圖元的渲染狀態(tài)的一部分,盡管其它方案當然也是可能的。在片斷生成器101不被旁路但被激活(即被包括在渲染過程(流水線)中)的情況下,則它將由柵格化器50生成的片斷100作為其輸入。片斷生成器101將接著分析與片斷100關(guān)聯(lián)的覆蓋掩碼,以確定有多少與片斷100對應的所覆蓋的采樣點。如果片斷生成器101確定片斷100只對應于單個覆蓋的采樣點,則其僅僅將片斷 100傳遞給剩下的渲染單元51以便以不變的形式渲染(即不執(zhí)行片斷100的任何處理等), 因為單個片斷100將足以渲染片斷100所對應的單個覆蓋的采樣點。(可替換地,如果期望,對于片斷生成器101實際上還可能生成片斷100的重復副本并發(fā)送該副本以供渲染。)另一方面,如果片斷生成器101確定片斷100對應于一個以上的被覆蓋的采樣點 (即與片斷100關(guān)聯(lián)的信息,即覆蓋掩碼指明片斷100正用于共同渲染一個以上的樣本位置),則片斷生成器101以上述參考圖10的方式生成新的片斷集合102,以為片斷100所對應的每個(且對應于每個)覆蓋的采樣點提供新的片斷以供渲染。換句話說,新的為每個所覆蓋的采樣點包括一個片斷的片斷集合102由片斷生成器101生成并被發(fā)送以供渲染。如參考圖10如上所述,新的片斷集合102的每個片斷具有與片斷100相同的基本片斷數(shù)據(jù),但是每個片斷都具有新的(和不同的)覆蓋掩碼,指明渲染相應片斷所針對的各個采樣點。圖11示出了新的片斷集合102,包括由片斷生成器101生成的四個片斷。這就是片斷100對應于四個覆蓋的采樣位置的情況。如果片斷100只對應于三個覆蓋的采樣點, 則片斷生成器101將生成三個片斷的新集合102 (每個覆蓋的采樣位置一個),等等。由片斷生成器101發(fā)出的一個或多個片斷(即由柵格化器50生成的單個片斷100 或由片斷生成器101生成的多個片斷102)由片斷生成器101傳遞到渲染和紋理單元51以供渲染,如前面那樣(并且如以上討論的當片斷生成器101不被使用且被旁路時的情況) 并如本領域中已知的。一旦片斷已經(jīng)由渲染和紋理單元51處理,渲染片斷數(shù)據(jù)如前面那樣被存儲在四個并行的瓦片緩沖器52中。在此方面,圖11明確示出了渲染過程的混和階段103,在該實施例中,該混和階段是通過并行使用四個混和器103來執(zhí)行的,一個混和器對應于瓦片緩沖器52的每一個。在該情況下,離開渲染和紋理單元51的所渲染片斷的數(shù)據(jù)被適當?shù)匕l(fā)送到對應于一個或多個瓦片緩沖器52的一個或多個混和器103,其中數(shù)據(jù)要被存儲。其它方案當然將是可能的。再次如前面那樣,在瓦片緩沖器52中存儲的數(shù)據(jù)接著通過下采樣單元53被下采樣并被傳遞到幀緩沖器M以供顯示。在圖11中,下采樣單元53被示出包括兩個級,如上所討論的,數(shù)據(jù)能夠在第一下采樣級之后或在第二下采樣級之后被輸出(即使得兩個下采樣操作將按如上所述那樣被執(zhí)行)。本發(fā)明的渲染過程和本發(fā)明的優(yōu)選實施例的操作的其它變化是可能的。例如,每個采樣點集合中的采樣點數(shù)量可變化。特別地,將可能設置采樣點集合,使得它們只包括單個采樣點。在該情況下,每個片斷將有效地用于渲染圖像中的單個像素,即使得實際不執(zhí)行反鋸齒。(在該情況下,片斷的覆蓋掩碼例如被設置為“1111”(即使得如上所述,在采樣模式的中間(例如像素),所有樣本被“覆蓋”并且例如在單個樣本點進行紋理查找)。渲染的片斷數(shù)據(jù)將接著存儲在與覆蓋掩碼樣本位置對應的瓦片緩沖器52 (例如片斷所對應的像素)中的所有四個采樣位置中,使得當為那些樣本位置存儲的數(shù)據(jù)由下采樣單元53下采樣時,輸出相同的數(shù)據(jù)值)。在一個優(yōu)選的實施例中,渲染過程的上述可能的可替換操作,例如它是以多采樣、 超采樣還是非反鋸齒方式來操作,被設置為渲染狀態(tài)的一部分,當每個圖元被渲染時為該圖元設置渲染狀態(tài)。(如本領域已知的,給定圖元的渲染狀態(tài)有效地提供信息來將渲染過程配置成適當?shù)脑O置,以便渲染所涉及的圖元。因此,對于該圖元以類似于剩余渲染狀態(tài)條件類似的方式,將要使用的反鋸齒模式能方便地設置為渲染狀態(tài)的一部分。)可以從以上看出,本發(fā)明至少在其優(yōu)選的實施例中提供了一種渲染方案,其中每個片斷的渲染可有效地并行處理圖像的多個位置樣本,但是渲染的片斷數(shù)據(jù)被如此存儲使得為每個樣本位置存儲單獨的顏色值。此外,該方案還可操作來例如在每圖元的基礎上,在相同的幀中使用多個不同的反鋸齒技術(shù)。尤其,圖元能有效地有選擇地被有效地超采樣或多采樣,并且下采樣的量也可在使用中選擇。因此,本發(fā)明提供尤其靈活的渲染和反鋸齒方案,該方案能夠按照任何給定圖像或一部分的圖像的特定要求被修改。本發(fā)明至少在其優(yōu)選的實施例中能夠提供虹和16x的全景反鋸齒。此外,4x的全景反鋸齒可被執(zhí)行而沒有任何性能、功率或帶寬損失。這使得本發(fā)明的處理器尤其適用于在便攜式和手持設備中使用,比如移動電話或個人數(shù)字助理(PDA)。
權(quán)利要求
1.一種處理圖像以供在包括多個像素的顯示設備上顯示的方法,該方法包括渲染表示圖像的圖形片斷,以便為片斷生成片斷數(shù)據(jù);存儲渲染的片斷數(shù)據(jù)陣列;下采樣存儲的片斷數(shù)據(jù)以提供像素數(shù)據(jù)陣列,用于在顯示設備上顯示圖像;其中下采樣水平可改變,并且該方法還包括選擇要在渲染的片斷數(shù)據(jù)上使用的下采樣水平。
2.根據(jù)權(quán)利要求1所述的處理圖像以供顯示的方法,其中,提供了兩個連續(xù)的下采樣階段,所述兩個連續(xù)的下采樣階段的一個或二者能夠被選擇性地激活。
3.根據(jù)權(quán)利要求2所述的處理圖像以供顯示的方法,其中,下采樣的一個水平是總是激活的,并且下采樣的第二水平能夠有選擇的應用。
4.根據(jù)權(quán)利要求2所述的處理圖像以供顯示的方法,其中,每個下采樣階段將其輸入數(shù)據(jù)下采樣相同的量。
5.根據(jù)權(quán)利要求2所述的處理圖像以供顯示的方法,其中,每個連續(xù)的下采樣階段以四的因子進行下采樣。
6.根據(jù)權(quán)利要求1所述的處理圖像以供顯示的方法,其中,能夠以逐幀的基礎來設置并且選擇下采樣的水平。
7.根據(jù)權(quán)利要求1所述的處理圖像以供顯示的方法,其中在將存儲的片斷數(shù)據(jù)輸出到顯示設備的幀緩沖器之前,在圖形處理平臺上執(zhí)行存儲的片斷數(shù)據(jù)到像素數(shù)據(jù)的下采樣。
8.根據(jù)權(quán)利要求1所述的處理圖像以供顯示的方法,包括關(guān)聯(lián)要渲染的每個片斷和要用于渲染該片斷的采樣和/或反鋸齒模式;和渲染單元當接收要渲染的片斷時確定與該片斷關(guān)聯(lián)的采樣和/或反鋸齒模式,所述渲染單元根據(jù)所確定的采樣和/或反鋸齒模式被配置,并且對接收的片斷執(zhí)行其渲染操作。
9.一種處理圖像以供在包括多個像素的顯示設備上顯示的設備,該設備包括用于渲染表示圖像的圖形片斷的、用于為片斷生成片斷數(shù)據(jù)的裝置;用于存儲渲染的片斷數(shù)據(jù)陣列的裝置;用于下采樣存儲的片斷數(shù)據(jù)以提供像素數(shù)據(jù)陣列的、用于在顯示設備上顯示圖像的裝置;其中下采樣水平可改變,并且該設備還包括用于選擇要在渲染的片斷數(shù)據(jù)上使用的下采樣水平的裝置。
10.根據(jù)權(quán)利要求9所述的處理圖像以供顯示的設備,其中,提供了兩個連續(xù)的下采樣階段,所述兩個連續(xù)的下采樣階段的一個或二者能夠有選擇地激活。
11.根據(jù)權(quán)利要求10所述的處理圖像以供顯示的設備,其中,下采樣的一個水平是總是激活的,并且下采樣的第二水平能夠有選擇地應用。
12.根據(jù)權(quán)利要求10所述的處理圖像以供顯示的設備,其中,每個下采樣階段將其輸入數(shù)據(jù)下采樣相同的量。
13.根據(jù)權(quán)利要求10所述的處理圖像以供顯示的設備,其中,每個連續(xù)的下采樣階段以四的因子進行下采樣。
14.根據(jù)權(quán)利要求9所述的處理圖像以供顯示的設備,其中,能夠以逐幀的基礎來設置并且選擇下采樣的水平。
15.根據(jù)權(quán)利要求9所述的處理圖像以供顯示的設備,包括用于將下采樣的片斷數(shù)據(jù)輸出到幀緩沖器以供顯示的裝置。
16.根據(jù)權(quán)利要求9所述的處理圖像以供顯示的設備,包括用于關(guān)聯(lián)要渲染的每個片斷和要用于渲染該片斷的采樣和/或反鋸齒模式的裝置;和一個或多個渲染單元,包括用于當接收要渲染的片斷時確定與該片斷關(guān)聯(lián)的采樣和/ 或反鋸齒模式的裝置,和用于根據(jù)所確定的采樣和/或反鋸齒模式配置渲染單元的裝置, 以及用于對接收的片斷執(zhí)行渲染操作的裝置。
17.一種3D圖形處理器或3D圖形處理平臺,包括根據(jù)權(quán)利要求9-16中任何一個的處理圖像以供顯示的設備。
18.一種計算機程序單元,包括計算機軟件代碼部分,用于當程序單元在數(shù)據(jù)處理裝置上運行時執(zhí)行根據(jù)權(quán)利要求1-8中任何一個的處理圖像以供顯示的方法。
全文摘要
一種圖形處理平臺包括接收表示要顯示圖像的圖元以供處理的柵格化器(50)。柵格化器(50)確定圖像的哪些采樣點集合包括由給定圖元覆蓋的采樣點,并接著為被發(fā)現(xiàn)包括有由圖元所覆蓋的采樣點的每個采樣點集合生成用于渲染的片斷,并將那些片斷傳遞給渲染器(51)以供渲染。渲染器(51)對其所接收的片斷執(zhí)行渲染操作,并將渲染的片斷數(shù)據(jù)存儲在瓦片緩沖器(52)中。渲染的片斷數(shù)據(jù)被存儲在瓦片緩沖器(52)的適當樣本位置中的多個副本中,以便為圖像的所取得的每個單獨樣本位置提供單獨的片斷數(shù)據(jù)集合。來自瓦片緩沖器(52)的數(shù)據(jù)被輸入到下采樣單元(53),并且從這里輸出到顯示設備(55)的幀緩沖器(54)中以供顯示。
文檔編號G06T15/50GK102402793SQ20111029165
公開日2012年4月4日 申請日期2005年11月29日 優(yōu)先權(quán)日2004年11月29日
發(fā)明者B·約斯蘭德, E·索爾加德, J·尼斯塔德, M·布拉策維克 申請人:Arm挪威股份有限公司