專利名稱:混合多重采樣/超采樣抗鋸齒的制作方法
技術(shù)領(lǐng)域:
本發(fā)明的實施例大體上涉及圖像處理中的抗鋸齒技術(shù),更具體地涉及 動態(tài)調(diào)整每個像素段中被著色的樣本數(shù)目。
背景技術(shù):
圖像處理器通常被配置為通過多重采樣或超采樣來實行抗鋸齒。在多 重采樣中,每個像素段被著色一次,所產(chǎn)生的顏色值被復(fù)制以用于所有覆
蓋的子像素樣本。在超采樣中,每個像素段被著色N次,每個被覆蓋的子 像素樣本被著色一次。
多重采樣適用于圖元邊緣的抗鋸齒處理,因為這里重要的是哪些樣本 被到來的圖元所覆蓋。圖像紋理通常經(jīng)過預(yù)過濾處理,這樣被著色的顏色 值具有足夠低的空間頻率,以至于每個像素著色一次就足夠了。但是,例 如紋理alpha透明和高頻鏡面突出的這樣一些效果可能具有高于像素頻率 的頻率,需要以高于像素頻率的頻率來進(jìn)行著色以避免鋸齒假象產(chǎn)生。通 常需要進(jìn)行超采樣以避免這些類型的鋸齒現(xiàn)象。但是,由于著色通常是渲 染中代價最高的操作,因此對像素中的每個樣本著色是代價極其高的。同 時, 一些超采樣實現(xiàn)方式需要對輸入圖元進(jìn)行多次處理,即每個子像素樣 本處理一次,這就更降低了效率。超過每像素一次但低于每個樣本一次的 著色率可足以緩解上述鋸齒的產(chǎn)生。
相應(yīng)地,現(xiàn)有技術(shù)所需要的是一種使用適合于當(dāng)前被渲染的幾何圖形 的像素著色率的系統(tǒng)和方法。著色率可以被P爭低以改善圖像質(zhì)量或者改進(jìn) 著色性能。
發(fā)明內(nèi)容
一種用于動態(tài)調(diào)整圖元著色過程中像素采樣率的系統(tǒng)和方法,所述系 統(tǒng)和方法能改進(jìn)圖像質(zhì)量或增加著色性能。著色率可以從每像素一次(多 重采樣)到每樣本一次(超采樣)之間進(jìn)行任意變化,或者是任意某個中 間值,用以改進(jìn)圖像質(zhì)量或提高著色性能。假設(shè)對一個渲染目標(biāo)(圖傳J爰沖器),每個像素有指定數(shù)目的樣本,則可以動態(tài)選擇多個著色器通道。在 對于片段著色器的每個通道處理一簇子像素樣本(多重采樣)的情況下, 使用了超采樣和多重采樣抗鋸齒的組合。對于每個像素組合該超采樣簇以 產(chǎn)生抗鋸齒的像素。
本發(fā)明的用于著色圖元方法的多個實施例在計算裝置中使用混合抗 鋸齒,該計算裝置被配置為能每像素產(chǎn)生多個樣本,這些實施例包括接受 圖形圖元并確定用來對插入到圖形圖元的每個像素進(jìn)行抗鋸齒的超采樣簇 的數(shù)目。在計算裝置中圖形圖元使用多個流水線通過段著色單元來著色, 其中用于產(chǎn)生每個插入圖形圖元中混合抗鋸齒像素的多個流水線的數(shù)目, 少于或等于超采樣簇的數(shù)目。
本發(fā)明的不同實施例包括被配置為使用混合抗鋸齒對圖形圖元進(jìn)行 著色的計算裝置。該計算裝置包括連接到段著色單元的光柵。該光柵包括 混合抗鋸齒控制單元。該混合抗鋸齒控制單元被配置成接收圖形圖元并確 定用來對每個插入到圖形圖元中的像素進(jìn)行抗鋸齒處理的超采樣簇數(shù)目。 該段著色單元^皮配置成使用多流水線對圖形圖元進(jìn)行著色,其中用于產(chǎn)生 每個插入圖形圖元中混合抗鋸齒像素的多個流水線的數(shù)目,少于或等于超 采樣簇的數(shù)目。
為了詳細(xì)地理解本發(fā)明的上述特征,對于以上筒要說明的發(fā)明,將參 照實施例進(jìn)行更為具體的描述,其中對部分實施例結(jié)合附圖進(jìn)行了說明。 然而,需要注意的是,附圖中示出的只是本發(fā)明代表性的實施例,因此不 能認(rèn)為附圖限制了本發(fā)明的范圍,本發(fā)明可以適用于其他同樣有效的實施 例。
圖1是為實施本發(fā)明一個或多個方面所配置的計算機(jī)系統(tǒng)的框圖; 圖2是根據(jù)本發(fā)明一個或多個方面的圖1所示計算機(jī)系統(tǒng)的并行處理 子系統(tǒng)的框圖3 ^:才艮據(jù)本發(fā)明一個或多個方面的圖2所示并行處理子系統(tǒng)核心的 框圖4是根據(jù)本發(fā)明一個或多個方面的圖像處理流水線的概念圖; 圖5A示出了根據(jù)本發(fā)明一個或多個方面的在一個像素中的超采樣簇 和多重采樣位置;
圖5B示出了根據(jù)本發(fā)明一個或多個方面的在多重采樣簇中的片段和質(zhì)心位置;
圖5C是根據(jù)本發(fā)明一個或多個方面的圖像處理流水線一部分的框和
圖6是根據(jù)本發(fā)明一個或多個方面的實施混合抗鋸齒處理方法步驟的 流程圖。
具體實施例方式
在下文的描述中,給出了大量具體的細(xì)節(jié)以便提供對本發(fā)明更為徹底 的理解。然而,對于本領(lǐng)域技術(shù)人員來說顯而易見的是,本發(fā)明可以無需
一個或多個這些細(xì)節(jié)而得以實施。在其他的例子中,為了避免與本發(fā)明發(fā) 生混淆,對于本領(lǐng)域公知的一些技術(shù)特征未進(jìn)行描述。 系統(tǒng)概述
圖1是為實施本發(fā)明一個或多個方面而配置的計算機(jī)系統(tǒng)100的框 圖。計算機(jī)系統(tǒng)100包括中央處理單元(CPU) 102以及系統(tǒng)存儲器104, 二者通過包括存儲器橋105的總線路徑進(jìn)行通訊。存儲器橋105例如可以 是北橋芯片,通過總線或其他通訊路徑106 (例如超傳輸鏈接連接)與I/O (輸7v/輸出)橋107相連接。I/O橋107例如可以是南橋芯片,從一個或 多個用戶輸入裝置108(例如鍵盤、鼠標(biāo))接收用戶輸入,并將該輸入通 過路徑106和存儲器橋105轉(zhuǎn)發(fā)給CPU 102。并行處理子系統(tǒng)112通過總 線或其他通訊路徑113 (例如PCI Express、加速圖像端口或超傳輸鏈接) 與存儲器橋105相連接;在一個實施例中,并行處理子系統(tǒng)112是將《象素 傳送給顯示裝置110 (例如傳統(tǒng)的CRT或基于LCD的顯示器)的圖像子 系統(tǒng)。存儲在系統(tǒng)存儲器104中的裝置驅(qū)動器103在由CPU 102執(zhí)行的進(jìn) 程(例如應(yīng)用程序)和并行處理子系統(tǒng)112之間實現(xiàn)接口 ,翻譯所需的程 序指令以便由并行處理子系統(tǒng)112執(zhí)行。
系統(tǒng)盤114同樣連接于I/O橋107。開關(guān)116為I/O橋107和諸如網(wǎng)絡(luò) 適配器118以及各種外插卡120和121的其他部件之間提供了連接。其他 部件(圖中沒有示出)包括USB或其他端口連接、CD驅(qū)動器、DVD驅(qū)動 器、電影刻錄裝置及類似的部件,也可以與1/0橋107相連接。將圖1中 的各種部件相互連接的通信路徑可以用任何適用的協(xié)議來實現(xiàn),比如PCI
(外設(shè)部件互聯(lián))、PCI Express (PCI-E)、 AGP(加速圖像端口)、超傳輸或 其他任何一種總線或點對點通信協(xié)議,并且不同裝置之間的連接可以使用 本領(lǐng)域已知的不同協(xié)議。圖2示出了并行處理子系統(tǒng)112的一個實施例。并行處理子系統(tǒng)112 包括一個或多個并行處理單元(PPU) 202,每個并行處理單元都和本地并 行處理(PP)存儲器204相連接。通常,并行處理子系統(tǒng)包括U個PPU, 其中11>1。(在這里,具有類似目標(biāo)的多個例子用表明該目標(biāo)的參考數(shù)字 表示,如果需要附加說明的數(shù)字表明該例子)。PPU 202和并行處理存儲器 204可以例如使用一個或多個集成電路裝置來實現(xiàn)。所述集成電路裝置例 如是可編程處理器、專用集成電路(ASIC)和存儲器裝置。
如所示出的PPU202 ( 0 )細(xì)節(jié),每個PPU 202包括通過通信路徑113 和系統(tǒng)100的其他部分通信的主機(jī)接口 206,該主機(jī)接口 206與存儲器橋 105相連接(或是在另一個實施例中直接與CPU102相連接)。在一個實施 例中,通信路徑113是PCI-E鏈接,其中如本領(lǐng)域所已知的,每個PPU202 都被分配了專用通道。也可以使用其他通信路徑。主機(jī)接口 206產(chǎn)生信息 包(或其他信號)以在通信路徑113上傳送,接收所有來自通信路徑113 的輸入信息包(或其他信號),并將這些信息包引導(dǎo)至PPU 202的適當(dāng)?shù)?部件。例如,和處理任務(wù)有關(guān)的命令可以被引導(dǎo)至前端單元212,而和存 儲器操作有關(guān)的命令(例如從并行處理存儲器204中讀取或向其寫入)可 以被引導(dǎo)至存儲器接口 214。主機(jī)接口 206、前端單元212和存儲器接口 214可以是常規(guī)設(shè)計,由于其對于本發(fā)明并非至關(guān)重要的,因此在此省略 對其詳細(xì)的描述。
每個PPU 202有利地實現(xiàn)高度并行處理器。如示出的PPU 202 ( 0 )細(xì) 節(jié),PPU202包括數(shù)量為C的內(nèi)核208,此處Ol。每個處理內(nèi)核208能 同時執(zhí)行大量(例如數(shù)十個或數(shù)百個)線程,其中每個線程是一例程序; 以下描述了多線程處理內(nèi)核208的一個實施例。內(nèi)核208通過工作分配單 元210接收將要執(zhí)行的處理任務(wù),該工作分配單元從前端單元212沖矣收定 義了處理任務(wù)的命令。工作分配單元210能執(zhí)行各種算法來分配工作。例 如,在一個實施例中,工作分配單元210從每個內(nèi)核208接收"就緒"的 信號,該信號表明該內(nèi)核是否有足夠的資源來接受新的處理任務(wù)。當(dāng)一個 新的處理任務(wù)到達(dá)時,工作分配單元210將該任務(wù)分配給發(fā)出該就緒信號 的內(nèi)核208;如果沒有內(nèi)閣208發(fā)出就緒信號,則工作分配單元210保留 該新處理任務(wù)直到某個內(nèi)核208發(fā)出就緒信號。本領(lǐng)域普通技術(shù)人員會認(rèn) 識到也可以使用其他算法,且工作分配單元210是以何種特定方式分配輸 入的處理任務(wù)對本發(fā)明來說并非是至關(guān)重要的。
內(nèi)核208和存儲器接口 214進(jìn)行通信,以從各種外部存儲器裝置中讀取或向各種外部存儲器裝置中寫入數(shù)據(jù)。在一個實施例中,存儲器接口 214 不僅包括適配于和本地并行處理存儲器204進(jìn)行通信的接口 ,還包括到主 機(jī)接口 206的連接,因此使內(nèi)核208能和系統(tǒng)存儲器104或其他不屬于PPU 202本地的存儲器進(jìn)行通信。存儲器接口 214可以是常規(guī)設(shè)計,在此省略 對其的詳細(xì)描述。
內(nèi)核208能被編程以執(zhí)行與各種廣泛的應(yīng)用相關(guān)的處理任務(wù),所述應(yīng) 用包括但不限于線性和非線性數(shù)據(jù)變換、視頻和/或音頻數(shù)據(jù)的過濾、建模 運算(例如,應(yīng)用物理法則來確定物體的位置、速度和其他屬性)、圖像渲 染操作(例如,頂點著色器、幾何著色器和/或像素著色器編程)等等。并 行處理單元202可以將數(shù)據(jù)從系統(tǒng)存儲器104和/或本地并行處理存儲器 204傳輸?shù)絻?nèi)部(片上)存儲器,對數(shù)據(jù)進(jìn)行處理,并將結(jié)果數(shù)據(jù)寫回到 系統(tǒng)存儲器104和/或本地并行處理存儲器204中,在這些存儲器中這些數(shù) 據(jù)能夠由包括例如CPU 102或另一并行處理子系統(tǒng)112的其他系統(tǒng)部件來 訪問。
再次參考圖1,在一些實施例中,在并行處理子系統(tǒng)112中的一些或 者全部的并行處理單元202是具有渲染流水線的圖形處理器,其能^^配置 成執(zhí)行與下列情形有關(guān)的各種任務(wù)由CPU 102和/或系統(tǒng)存儲器104通過 存儲器橋105和總線113提供的圖形數(shù)據(jù)產(chǎn)生像素數(shù)據(jù);與本地并行處理 存儲器204 (其能被用作圖形存儲器,例如包括常規(guī)的幀緩沖器)交互以 儲存并更新像素數(shù)據(jù);傳送像素數(shù)據(jù)給顯示裝置110;及其他類似情形。 在一些實施例中,并行處理子系統(tǒng)112可包括一個或多個作為圖形處理器 工作的并行處理單元202和一個或多個用于通用目的計算的其他并行處理 單元202。這些并行處理單元202可以是相同或不同的,每個并行處理單 元202可以有其自己專用的并行處理存儲裝置204或非專用的并行處理裝 置。
在操作中,CPU 102是系統(tǒng)IOO的主處理器,控制和協(xié)調(diào)其他系統(tǒng)部 件的工作。特別是,CPU 102發(fā)出控制并行處理單元202工作的命令。在 一些實施例中,CPU 102將對于每個并行處理單元202的命令流寫入到推 入緩沖器(圖1中未示出),該推入緩沖器可以位于系統(tǒng)存儲器104中、并 行處理存儲器204中、或是CPU102和并行處理單元202都可以訪問的其 他存儲位置中。并行處理單元202從推入緩沖器中讀出命令流,并且相對 于CPU 102的工作異步地執(zhí)行這些命令。因此,并行處理單元202可被配 置成使CPU 102卸載處理以增加系統(tǒng)100的處理吞吐量和/或性能。可以理解的是,這里示出的系統(tǒng)只是示意性的,可以對其進(jìn)行變化和 修改。連接拓樸結(jié)構(gòu)包括橋的數(shù)目和排列,可以根據(jù)需要改變。例如,在
一些實施例中,系統(tǒng)存儲器104直接與CPU 102相連接而不是通過一個橋 相連接,其他裝置通過存儲器橋105和CPU 102與系統(tǒng)存儲器104相通信。 在其他可選擇的拓樸結(jié)構(gòu)中,并行處理系統(tǒng)112與I/O橋107相連接或直 接與CPU102相連接,而不是和存儲器橋105相連接。在其他實施例中, I/O橋107和存儲器橋105可以被集成到單一芯片上。這里示出的特定部 件是任選的;例如,可以支持任何數(shù)目的外插卡或外設(shè)。在一些實施例中, 省去了開關(guān)116,網(wǎng)絡(luò)適配器118和外插卡120、 121直接和I/0橋107相 連接。
并行處理單元202和系統(tǒng)IOO剩余部分的連接也同樣可以變化。在一 些實施例中,并行處理系統(tǒng)112實現(xiàn)為一個外插卡,其能插入到系統(tǒng)IOO 的擴(kuò)展槽中。在其他實施例中,并行處理單元202能和總線橋一起集成到 單一芯片上,總線橋例如可以是存儲器橋105或I/O橋107。在另外其他 一些實施例中,并行處理單元202的一些或全部組件可以連同CPU 102 — 起集成到單一芯片上。
并行處理單元可以設(shè)置有任意數(shù)量的本地并行處理存儲器,而不包括 本地存儲器,也可以使用本地存儲器和系統(tǒng)存儲器的任意組合。例如,在 統(tǒng)一存儲器架構(gòu)(UMA)的實施例中,并行處理單元202可以是圖形處理 器,在這些實施例中,將會設(shè)置極少或者不設(shè)置任何專用圖形(并行處理) 存儲器,并行處理單元202將只^使用或幾乎只使用系統(tǒng)存儲器。在UMA 實施例中,并行處理單元202可被集成到橋芯片或處理器芯片中,或者是 設(shè)置為具有高速鏈接(例如PCI-E)的分離的芯片,該高速鏈接將并行處 理單元通過例如橋芯片與系統(tǒng)存儲器相連接。
如上所述,并行處理子系統(tǒng)可以包括任意數(shù)量的并行處理單元202。 例如,多個并行處理單元202可以,沒置在單個的外插卡上,或者多個外插 卡可以與通信路徑113相連,或者一個或多個并行處理單元202可以集成 到橋芯片中。多并行處理單元系統(tǒng)中的并行處理單元可以是相同的,也可 以是^:此不同的;例如,不同的并行處理單元可以具有不同數(shù)目的內(nèi)核、 不同數(shù)目的本地并行處理存儲器及其他類似部件。當(dāng)存在有多個并行處理 單元202時,這些并行處理單元202可以以高于單個并行處理單元202可 能達(dá)到的數(shù)據(jù)吞吐量來并行工作以處理數(shù)據(jù)。包含有一個或多個并行處理 單元202的系統(tǒng)可以實現(xiàn)為各種配置和形式,包括桌上型電腦、筆記本電腦、或是手持個人電腦、服務(wù)器、工作站、游戲控制臺、嵌入式系統(tǒng)等等。 內(nèi)核概述
圖3是根據(jù)本發(fā)明一個或多個方面的圖2所示并行處理子系統(tǒng)112的 內(nèi)核208的框圖。并行處理單元202包括配置成并行執(zhí)行多個線程的一個 內(nèi)核208 (或多個內(nèi)核208),在此術(shù)語"線程,,是指一例環(huán)境,即對一組 特定的輸入數(shù)據(jù)執(zhí)行的特定程序。在一些實施例中,單指令多數(shù)據(jù)(SIMD) 指令發(fā)出被用來支持并行執(zhí)行大量線程,而不用提供多個獨立的指令單元 的技術(shù)。
在一個實施例中,每個內(nèi)核208包括P (例如8、 16等)個并行處理 引擎302的陣列,該并行處理引擎302配置成從單一指令單元312中接收 SIMD指令。每個處理引擎302有利地包括一組相同的功能性單元(例如 算術(shù)邏輯單元等)。該功能性單元可排列成流水線,允許新指令在完成前個 指令之前發(fā)出,如同現(xiàn)有技術(shù)中公知的那樣。可以使用任何功能單元的組 合。在一個實施例中,功能性單元支持各種運算,包括整數(shù)和浮點運算(例 如加法和乘法)、比較運算、布爾運算(AND、 OR、 XOR)、移位運算和 各種代數(shù)函數(shù)的運算(例如平面插值、三角、指數(shù)和對數(shù)函數(shù)等);并且同 樣的功能性單元的硬件可進(jìn)行改變以用于執(zhí)行不同的運算。
每個處理引擎302使用本地寄存器文件(LRF) 304的空間來存儲它 的本地輸入數(shù)據(jù)、中間結(jié)果和類似數(shù)據(jù)。在一個實施例中,本地寄存器文 件304物理上或邏輯上被分成P個通道,每個通道具有一些項目(每個項 目可以儲存例如32位字)。 一個通道^:分配給每個處理引擎302,不同通 道的相應(yīng)項目可以用于為執(zhí)行相同程序的不同線程來容納數(shù)據(jù)以促進(jìn) SIMD的執(zhí)行。在一些實施例中,每個處理引擎302只能訪問分配給它的 通道中的LRF項目。本地寄存器文件304中項目的總數(shù)目優(yōu)選足夠大以使 每個處理引擎302同時支持多個線程。
每個處理引擎302也能訪問片上共享存儲器306,該片上存儲器306 被內(nèi)核208上所有的處理引擎302所共享。共享存儲器306可以依需要盡 可能的大,在一些實施例中,任何處理引擎302能以(例如可與訪問本地 寄存器文件304相比)同樣低的延遲對共享存儲器306的任何位置進(jìn)行讀 取或?qū)懭氩艈鬃鳌T谝恍嵤├?,共享存儲?06實現(xiàn)為共享寄存器文件; 在其他實施例中,共享存儲器306可以使用共享緩存器得以實施。除共享存儲器306之外, 一些實施例還提供另外的片上參數(shù)存儲器和 /或緩存器308,它們可以實現(xiàn)為例如常規(guī)RAM或緩存器的形式。參數(shù)存 儲器/緩存器308能被用來例如保持多個線程可能需要的狀態(tài)參數(shù)和/或其 他數(shù)據(jù)(例如各種常數(shù))。處理引擎302也可通過存儲器接口 214訪問片外 "全局"存儲器,并且系統(tǒng)存儲器104通過主機(jī)接口 206來訪問,該"全 局"存儲器可以包括例如并行處理存儲器204和/或系統(tǒng)存儲器104??梢?br>
在一個實施例中,每個處理引擎302都是i線i的,并能同時執(zhí)i"多 達(dá)G (例如24)個線程,這可通過例如在本地寄存器文件304中其被分配 的通道的不同部分中維持與每個線程有關(guān)的當(dāng)前狀態(tài)信息來實現(xiàn)。處理引 擎302有利地被設(shè)計成從一個線程快速切換到另一個線程,以使不同線程 的指令可以以任意順序發(fā)出而不會降低效率。由于每個線程可以對應(yīng)不同 的環(huán)境,因此隨著為每個周期發(fā)出不同的線程,可以在多個周期上處理多 重環(huán)境。
指令單元312設(shè)置成對于任何給定的處理周期, 一條指令(INSTR) 會^^送給P個處理引擎302的每一個。當(dāng)多重環(huán)境被同時處理時,每個 處理引擎302可在任何給定的處理周期中接收不同指令。當(dāng)所有P個處理 引擎302處理單一環(huán)境時,內(nèi)核208實現(xiàn)P路SIMD微架構(gòu)。因為每個處 理引擎302同樣被進(jìn)行同時支持高達(dá)G個線程的多線程化,因此在這個實 施例中的內(nèi)核208能同時執(zhí)行P x G個線程。例如,如果P=16并且G=24, 則內(nèi)核208對單一環(huán)境能同時支持高達(dá)384個線程,或是對每個環(huán)境同時 支持N x 24個線程,這里N為分配給該環(huán)境的處理引擎302的數(shù)目。
內(nèi)核208的運行通過工作分配單元200進(jìn)行有利的控制。在一些實施 例中,工作分配單元200接收將要被處理的數(shù)據(jù)(例如圖元數(shù)據(jù)、頂點數(shù) 據(jù)和/或像素數(shù)據(jù))的指針以及包含數(shù)據(jù)或定義數(shù)據(jù)將要怎樣處理(例如要 執(zhí)行什么程序)的指令的推入緩沖器的位置。工作分配單元210能將要被 處理的數(shù)據(jù)載入到共享存儲器306中,并將參數(shù)載入到*存儲器308中。 工作分配單元210還初始化指令單元312中的每個新環(huán)境,然后發(fā)出信號 以指示指令單元312開始執(zhí)行該環(huán)境。指令單元312讀取指令推入緩沖器 并執(zhí)行指令以產(chǎn)生處理后的數(shù)據(jù)。當(dāng)環(huán)境執(zhí)行完成后,內(nèi)核208將有利地 通知工作分配單元210。工作分配單元210然后可以初始化其他進(jìn)程,以 便例如從共享存儲器306中檢索輸出數(shù)據(jù)和/或準(zhǔn)備內(nèi)核208以執(zhí)行另外的 環(huán)境??梢岳斫獾氖牵颂幟枋龅牟⑿刑幚韱卧蛢?nèi)核架構(gòu)僅僅是示意性
的,可對其進(jìn)行變化和修改??梢园ㄈ我鈹?shù)目的處理引擎302。在一些 實施例中,每個處理引擎302有其自己的本地寄存器文件,并且每個線程 中本地寄存器文件項目的分配可以是固定的,也可以隨需要來設(shè)置。特別 地,本地寄存器文件304的項目可被分配用于處理每個環(huán)境。進(jìn)一步地, 雖然只示出了一個內(nèi)核208,但并行處理單元202可以包括任意數(shù)目的內(nèi) 核208,這些內(nèi)核208有利地具有4皮此相同的設(shè)計,因此執(zhí)4亍方式不依賴 于哪個內(nèi)核208接收到特定的處理任務(wù)。每個內(nèi)核208有利地獨立于其他 內(nèi)核208而運行,并具有其自己的處理引擎、共享存儲器等等。
圖形流水線架構(gòu)
圖4是根據(jù)本發(fā)明一個或多個方面的圖形處理流水線400的概念圖。 并行處理單元202可祐 沒置為形成圖形處理流水線400。例如,內(nèi)核208 可被設(shè)置成執(zhí)行頂點處理單元444、幾何處理單元448和片段處理單元460 中的一個或多個單元的功能。數(shù)據(jù)匯編器442、圖元匯編器446、光柵化器 455和光柵運算單元465的功能也可以由內(nèi)核208來執(zhí)行。作為選擇,圖 形處理流水線400可通過在頂點處理單元444、幾何處理單元448、片段處 理單元460、數(shù)據(jù)匯編器442、圖元匯編器446、光柵化器455和光柵運算 單元465中的一個或多個單元上^f吏用專用處理單元來實現(xiàn)。
數(shù)據(jù)匯編器442是為高階表面、圖元和其他類似物收集頂點數(shù)據(jù)并向 頂點處理單元444輸出頂點數(shù)據(jù)的處理單元。頂點處理單元444是設(shè)置成 執(zhí)行頂點著色器程序的可編程執(zhí)行單元,按照該頂點著色器程序的規(guī)定對 頂點數(shù)據(jù)進(jìn)行變換。例如,頂點處理單元444可被編程為將用基于物體的 坐標(biāo)表示(物體空間)轉(zhuǎn)換成基于可選擇的其他坐標(biāo)系統(tǒng),例如世界空間 或規(guī)一化設(shè)備坐標(biāo)(NDC)空間。頂點處理單元444可以讀取存儲在并行 處理存儲器204或系統(tǒng)處理器104中的數(shù)據(jù),以在處理頂點數(shù)據(jù)時使用。
圖元匯編器446從頂點處理單元444中接收處理過的頂點數(shù)據(jù)并組建 圖形圖元,例如點、線、三角或其他,以用于由幾何處理單元448來處理。 幾何處理單元448是配置用于執(zhí)行幾何著色器程序的可編程執(zhí)行單元,其 將從圖元匯編器446接收的由幾何著色器程序指定的圖形圖元進(jìn)行變換。 例如,幾何處理單元448可被編程為將圖形圖元再細(xì)分為一個或多個新圖 形圖元,并計算用于光柵化該新元的參數(shù),例如平面平衡系數(shù)。在本
12發(fā)明的一些實施例中,幾何處理單元448可以在幾何^:據(jù)流中增加或刪除 元件。幾何處理單元448輸出為光柵化器455或為存儲器接口 214指定新 圖形圖元的參數(shù)和頂點數(shù)據(jù)。幾何處理單元448可讀取存儲在并行處理存 儲器204或系統(tǒng)存儲器104中的數(shù)據(jù)以用來處理兒何數(shù)據(jù)。
光柵化器455掃描用來轉(zhuǎn)換新的圖形圖元并輸出片段和覆蓋數(shù)據(jù)給片 段處理單元260。當(dāng)抗鋸齒被用于產(chǎn)生圖像數(shù)據(jù)時,光柵化器455被設(shè)置 成產(chǎn)生子像素樣本覆蓋數(shù)據(jù)。當(dāng)使用混合抗鋸齒處理時,可以駐留在光柵 化器455中的混合抗鋸齒控制單元500設(shè)置成確定通過用于處理每個圖元 的片段處理單元460的通道數(shù)目,如結(jié)合圖5C和圖6所說明。
片段處理單元460是設(shè)置成執(zhí)行片段著色器程序的可編程執(zhí)行單元, 并將從光柵化器455接收的由片段著色程序指定的片段進(jìn)行變換。例如, 片段處理單元460可被編程以執(zhí)行例如透視修正、紋理、陰影化、混合等 等的操作來產(chǎn)生輸出到光柵運算單元465的著色的片段。片段處理單元460 能讀取存儲在并行處理存儲器204或系統(tǒng)存儲器104中的數(shù)據(jù)以便在處理 片段數(shù)據(jù)時使用。根據(jù)混合抗鋸齒控制單元選擇的采樣率,可以在像素、 樣本或者超采樣簇顆粒度的程度上對片段進(jìn)行著色。
存儲器接口 214對存儲在圖形存儲器中的數(shù)據(jù)產(chǎn)生讀取請求,并執(zhí)行 紋理過濾操作,例如雙線性、三線性、各向異性等。在本發(fā)明的一些實施 例中,存儲器接口 214可以設(shè)置成能解壓縮數(shù)據(jù)。特別地,存儲器接口 214 可被設(shè)置成對固定長度的塊編碼數(shù)據(jù)進(jìn)行解壓縮,例如以DXT格式表示的 壓縮數(shù)據(jù)。光柵運算單元465是執(zhí)行諸如模板、Z測試等光柵操作的處理 單元,并輸出像素數(shù)據(jù)作為經(jīng)處理的圖形凄t據(jù)以存儲在圖形存儲器中。經(jīng) 處理的圖形數(shù)據(jù)可以存儲在圖形存儲器(例如并行處理存儲器204)和/或 系統(tǒng)存儲器104中,以顯示在顯示裝置110上,或由CPU 102或并行處理 子系統(tǒng)112進(jìn)一步處理。在本發(fā)明的一些實施例中,光柵運算單元465設(shè) 置成能壓縮寫到存儲器中的Z或顏色數(shù)據(jù),并能解壓縮從存儲器讀取的Z 或顏色數(shù)據(jù)。
混合抗鋸齒處理
如前所述,并行處理單元202可被設(shè)置成以各種采樣率執(zhí)行著色,以 改善圖像質(zhì)量或改善著色性能。混合抗鋸齒控制單元決定用于對圖元中每 個像素進(jìn)行著色的著色器通道數(shù)目。每個像素中一個或多個多重樣本(子像素樣本)的超采樣簇通過內(nèi)核208處理,內(nèi)核208為每個通道設(shè)置為片 段處理單元460以產(chǎn)生單一著色顏色值,該顏色值被復(fù)制用于超采樣簇中 所有的多重樣本。在場景被渲染后,超釆樣簇的樣本被結(jié)合用于產(chǎn)生抗鋸 齒圖像。
每個圖元的子像素樣本和著色器通道的數(shù)目被增加以改善圖像質(zhì)量。 當(dāng)應(yīng)用程序被啟動且對于渲染目標(biāo)(圖像緩沖器)的每個像素都保持一致 時,子像素樣本的數(shù)目被確定?;旌峡逛忼X控制單元可基于渲染狀態(tài)動態(tài) 確定著色通道的數(shù)目,該漥染狀態(tài)例如可以為alpha測試啟用/關(guān)閉、紋理 貼圖內(nèi)容、用戶提供的質(zhì)量/性能控制等等。
圖5A示出了根據(jù)本發(fā)明一個或多個方面的像素501中的超采樣簇503 和511以及多重樣本502、 504和513。當(dāng)使用8個子像素樣本抗鋸齒化時, 可以使用多重樣本和超采樣簇的各種不同組合來產(chǎn)生8個子像素樣本。在 圖5A所示的例子中,對于像素501中總共8個子像素樣本的位置,三個 超采樣簇503和超采樣簇511每個都包括兩個多重樣本,例如在超釆樣簇 511中的多重樣本502和504。其他8個子像素樣本的配置包括多達(dá)8個超 采樣簇,每個有一個多重樣本,或8個多重樣本僅有1個超采樣簇。每個 超采樣簇實施一次著色,著色后的值(例如顏色)^皮存儲以便供該超采樣 簇中的所有多重樣本使用。
著色器屬性可在超采樣簇中特定的多重樣本位置處^皮采樣,或者在超 采樣簇中或接近超采樣簇的其他位置處采樣。例如,圖5A中片段屬性(顏 色、紋理坐標(biāo)或其他)可在實體多重樣本位置處采樣,例如超采樣簇511 中的多重樣本502。另外,當(dāng)片段僅僅部分覆蓋超采樣簇時,調(diào)整屬性被 采樣的位置以位于超采樣簇中凈皮覆蓋的多重樣本區(qū)域內(nèi)是有利的。這通常 被稱為質(zhì)心采樣,但是該術(shù)語在這里應(yīng)用于超采樣簇而不是整個像素片段。
圖5B示出了跟據(jù)本發(fā)明一個或多個方面的超采樣簇511中的片段509 和質(zhì)心位置517。在本發(fā)明的一些實施例中,質(zhì)心釆樣用來修改屬性被評 估的位置,以更好地對應(yīng)于被片段實際覆蓋的顯示屏區(qū)域。在本發(fā)明的一 些實施例中,樣本插值單元510可以設(shè)置成在特定多重樣本位置處或在近 似質(zhì)心位置處對每個超采樣簇進(jìn)行釆樣。
質(zhì)心可以是被覆蓋的多重樣本的幾何質(zhì)心,或者例如通過選擇超采樣 簇中最接近被完全覆蓋的超采樣簇的質(zhì)心的被覆蓋多重樣本來近似確定該 質(zhì)心。例如,質(zhì)心位置517是計算出的在超采樣簇511的幾何中心的多重 樣本位置,由于多重樣本502的位置接近邊緣而不是接近片段509的中心,所以該質(zhì)心位置用來代表超采樣簇511的采樣顏色。著色值在質(zhì)心位置517 處被計算出來,以相對于多重樣本502更加精確地代表片段顏色。
圖5C是根據(jù)本發(fā)明一個或多個方面的圖形處理流水線400 —部分的 框圖,圖形處理流水線400包括光柵化器455、片段處理單元460和光柵 運算單元465。其他處理單元也可包括在光柵化器455、片段處理單元460 和光柵運算單元465中。由于這些其他處理單元可以是普通的常規(guī)設(shè)計, 因此沒有在圖5C中示出。由于對本發(fā)明并非至關(guān)重要,省略對它們的詳 細(xì)描述。
光柵化器455從幾何處理單元448中接收圖元并為與圖元相交叉的每 個像素產(chǎn)生片段?;旌峡逛忼X控制單元500 (可選地置于光柵化器455中) 可設(shè)置成根據(jù)渲染狀態(tài),例如Alpha測試開啟/關(guān)閉、紋理貼圖內(nèi)容、用戶 提供的質(zhì)量/性能控制等等,來動態(tài)確定用于處理每個圖元片段的著色器通 道的數(shù)目。
混合抗鋸齒控制單元500通過對圖元實施更多的得益于更高著色率的 著色通道并降低其他圖元的著色率,提高了抗鋸齒處理的效率?;旌峡逛?齒控制單元500可通過用戶、應(yīng)用程序或裝置驅(qū)動器103來設(shè)置,以^f更運 行在各種品質(zhì)設(shè)定中。這些品質(zhì)設(shè)定可以從"一直多重采樣,,的最低品質(zhì) 設(shè)定到"一直超采樣,,的最高品質(zhì)設(shè)定。中間品質(zhì)設(shè)定可在確定著色通道 數(shù)目時考慮渲染流水線狀態(tài)。例如,如果Alpha檢測或著色器像素消除啟 動時,就需要有更多的著色通道。相反地,當(dāng)指定高性能時,Alpha檢測 和著色器像素消除關(guān)閉,混合抗鋸齒控制單元500可以降低采樣率?;旌?抗鋸齒控制單元500在確定著色通道數(shù)目時也可以考慮像素著色器的特征 或紋理采樣器的設(shè)定。本領(lǐng)域的普通技術(shù)人員可以認(rèn)識到,混合抗鋸齒控 制單元500可使用各種廣泛的標(biāo)準(zhǔn)來確定著色通道的數(shù)目。在常規(guī)圖形系 統(tǒng)中,對場景中的所有圖元都基于用戶提供的或者固定的設(shè)置來確定釆樣 率。另外,常規(guī)系統(tǒng)的采樣限定于多重采樣或超采樣,而不是中間的可選 擇方式。
在一個實施例中,光柵化器455產(chǎn)生2x2的四方像素片段,其通過混 合抗鋸齒迭代單元515接收。當(dāng)混合抗鋸齒控制單元500設(shè)定通道數(shù)等于 1時(即當(dāng)多重采樣時),混合抗鋸齒迭代單元515原封不動地將這些四方 像素片段傳遞給片段處理單元460。但是,當(dāng)混合抗鋸齒控制單元500設(shè) 定通道數(shù)N大于1時,混合抗鋸齒迭代單元515為片段處理單元460多次 輸出每個四方像素片段,包括相應(yīng)于著色器通道的通道數(shù)目?;旌峡逛忼X迭代單元515可以屏蔽傳送到片段處理單元460的覆蓋部分,這樣只有超 采樣簇中和當(dāng)前通道對應(yīng)的多重樣本被開啟。在其他的實施例中,片段處 理單元460可以基于由混合抗鋸齒迭代單元515提供給它的通道數(shù)目來屏 蔽覆蓋部分。值得注意的是,其他實施例可在2x2段的四方像素片段以外 的區(qū)域上迭代,例如可以是單一像素、4x4片段拼貼或其他。在像素(四 方)區(qū)域上而不是圖元上進(jìn)行迭代可以是有利的,這是因為紋理貼圖數(shù)據(jù) 很可能再次用于隨后的特定四方片段的著色器通道,而在圖元上進(jìn)行迭代 (可能會很大)會造成再次從諸如并行處理存儲器204或系統(tǒng)存儲器104 的存儲器中獲取紋理數(shù)據(jù)。
重要的是,并沒有對每個著色器通道重復(fù)進(jìn)行需要用來產(chǎn)生片段的幾 何計算。相反,慣常使用樣本蒙板向多重樣本緩沖器中進(jìn)行超采樣的系統(tǒng) 通常為每個著色通道重復(fù)進(jìn)行幾何計算。注意到在片段處理單元460中采 樣的圖元屬性只需要計算一次,而不管混合抗鋸齒通道的數(shù)目如何,這是 由于它們將被隨后迭代的四方像素片段所引用然后被丟棄。
片段處理單元460中的樣本查找表使用混合抗鋸齒參數(shù)和通道數(shù)目來 確定插值片段參數(shù)被采樣的位置。樣本查找表505可為每個超采樣簇選擇 質(zhì)心位置或多重樣本位置。多重樣本位置被輸出到樣本插值單元510,該 樣本插值單元510用來為每個超采樣簇計算一個或多個例如顏色通道(紅、 綠、藍(lán)、Alpha)的插值參數(shù)、紋理坐標(biāo)等,即對于四方像素片中的每個像 素計算一組插值參數(shù)。著色器520為四方像素片中的每個像素處理該組插 值參數(shù),使用本領(lǐng)域普通技術(shù)人員公知的技術(shù)來執(zhí)行片段著色器程序或類 似程序,并為每個超采樣簇產(chǎn)生著色像素值,例如顏色。
在著色過程中,由于alpha檢測或著色器像素消除,每個超采樣簇的 子像素樣本可能會被除去(剔除或消除),以至于基于像素消除或alpha檢 測結(jié)果來修改光柵產(chǎn)生的覆蓋范圍,以產(chǎn)生后著色器覆蓋范圍。由于超釆 樣簇是通過著色器520在單獨的通道中被處理的,因此超采樣簇可以在 alpha檢測期間被個別地消除。相反地,當(dāng)常規(guī)的多重采樣是用來處理單一 著色通道中的所有子像素樣本時,所有子像素樣本或者被保留或者#皮消除, 這就導(dǎo)致了產(chǎn)生較低圖像品質(zhì)的粗糙的alpha檢測顆粒度。
著色器520將著色的像素值和子像素覆蓋范圍(相對于光柵化器455 提供的覆蓋范圍可能被修改)分別輸出給顏色緩沖器535和覆蓋集合器 530。覆蓋集合器530為每個著色器通道集合后著色器覆蓋范圍,以為每個 像素產(chǎn)生集合的覆蓋范圍信息。顏色緩沖器535為每個像素集合著色值。當(dāng)接收到最后著色器通道的著色值時,集合的覆蓋信息被輸出到光柵運算
單元465。四方像素片段的著色值可連同集合的覆蓋范圍信息一起輸出或 隨后輸出,例如在光柵運算單元465完成z測試之后。在本發(fā)明的其他實 施例中,可以省略覆蓋集合器530和顏色緩沖器535。
在將每個像素的樣本在存儲器中打包的系統(tǒng)中,覆蓋集合和合并顏色
值到顏色緩沖器中是有利的,因此多個樣本能使用單一存儲器處理來寫入 或讀取。其他實施例可以省略覆蓋集合器530。在其中不在存儲器中連續(xù) 地存儲像素的樣本值的系統(tǒng)中,覆蓋集合器530可能不那么有利。
光柵運算單元465中作為可選的z/顏色壓縮單元550接收集合覆蓋信 息和z值或其他代表片,殳(跟隨z測試)的z或深度值,并為一個區(qū)域的 像素產(chǎn)生壓縮z值。z/顏色壓縮單元550也可以接收片段的集合顏色值, 并為一區(qū)域的像素產(chǎn)生壓縮顏色值。當(dāng)應(yīng)用到更大群的像素時,可以改善 壓縮。因此,若干個四方像素片段可被集合在一起并在結(jié)果被壓縮之前進(jìn) 行z測試。重要的是,混合抗鋸齒不會妨礙或降低z壓縮的效率。z壓縮 在降低訪問z緩沖器和一些實施例中的存儲器足跡所需的存儲器帶寬方面 是有利的。
圖6是根據(jù)本發(fā)明一個或多個方面的實施混合抗鋸齒處理的方法流程 圖。在步驟610,混合抗鋸齒控制單元500接收圖元。步驟615,混合抗鋸 齒控制單元500確定混合抗鋸齒是否啟用,如果未啟用則^f吏用慣常的抗鋸 齒方法來處理片段。如果在步驟615中混合抗鋸齒被啟用,在步驟635中 混合抗鋸齒控制單元500為圖元確定混合抗鋸齒參#:。更具體地,當(dāng)對與 圖元交叉的每個像素著色時,混合抗鋸齒控制單元500確定要使用的超釆 樣簇(著色器通道)的數(shù)目。
在步驟640,光柵化器455為圖元的覆蓋部分產(chǎn)生樣本水平覆蓋范圍。 這個覆蓋范圍的顆粒度可以是粗糙或細(xì)致的,但是至少是四方像素片段的 大小。光柵化器455將與圖元交叉的四方像素的覆蓋信息輸出到混合抗鋸 齒迭代單元515?;旌峡逛忼X迭代單元515基于混合抗鋸齒參數(shù)來擴(kuò)大每 個四方像素,以在多個通道中對四方像素進(jìn)行著色。根據(jù)覆蓋信息,當(dāng)超 采樣簇中所有的多重樣本都沒有被覆蓋時,混合抗鋸齒迭代單元515可設(shè) 置成跳過著色器通道。在步驟643中,混合抗鋸齒迭代單元515確定通道 數(shù)目(第一、第二等),并將四方像素和通道數(shù)目輸出到片段處理單元460。 如前所述,當(dāng)通道數(shù)目大于1時,混合抗鋸齒迭代單元515可以屏蔽覆蓋 信息。樣本查找表505使用通道數(shù)目和多重樣本的數(shù)目來編制索引,以為多重樣本位置讀取編程后的值,包括在用來插值片段參數(shù)的超采樣簇中的 位置指示。插值參數(shù)通過樣本插值單元510來為超采樣簇進(jìn)行計算。
步驟645中,片段處理單元460對四方像素進(jìn)行著色,為每個超采樣 簇產(chǎn)生著色值,即在四方像素中每個像素有一個著色值。在超采樣簇中, 著色值用于每個被圖元覆蓋的多重樣本。片段處理單元460也為四方像素 輸出后著色器覆蓋范圍。后著色器覆蓋范圍可以和光柵化的像素覆蓋信息 不同,這是因為多重樣本可能如前所述在著色期間被消除。
在步驟650中,混合抗鋸齒迭代單元515確定是否有另外的著色器通 道被用來處理四方像素,如果有的話,則步驟643和步驟645將會對其他 的著色器通道(第二、第三等)重復(fù)進(jìn)行。如果在步驟650中,混合抗鋸 齒迭代單元515確定在處理四方像素中不需要其他的著色器通道,那么步 驟660中覆蓋集合器530為每個著色器通道組合這些后著色器覆蓋范圍, 以為四方像素產(chǎn)生集合的覆蓋范圍信息。步驟660中,覆蓋集合器530也 可以為每個著色器通道組合后著色器顏色值,以為每個四方像素產(chǎn)生集合 的顏色值。覆蓋集合器530可設(shè)置成以多個四方像素像素級別來集合后著 色器顏色和覆蓋范圍信息。在步驟665中,光柵運算單元465執(zhí)行光柵操 作以確定哪個著色值被寫入到幀緩沖器中。光柵操作可以以四方像素或多 個四方像素的程度來執(zhí)行。光對冊運算單元465中的z/顏色壓縮單元550可 在z和/或顏色數(shù)據(jù)存儲到z緩沖器和/或顏色緩沖器之前為四方像素壓縮z 和/或顏色數(shù)據(jù)。
在步驟670中,光柵化器455確定是否有其他四方像素與圖元交叉, 如果有,那么在步驟640中,光柵化器455處理被圖元覆蓋的不同四方像 素。如果在步驟670中,光柵化器455確定所有和與圖元交叉的四方《象素 都已著色,那么在步驟675中,圖元處理就完成了。在流水線系統(tǒng)中,圖 6中示出的一個或多個步驟可為不同的四方像素并行實施。
基于諸如alpha測試開啟/關(guān)閉、紋理貼圖內(nèi)容、用戶提供的品質(zhì)/性能 控制等渲染狀態(tài),混合抗鋸齒控制單元500可以為每個圖元動態(tài)確定混合 抗鋸齒參數(shù),例如每個像素超采樣簇的數(shù)目。由于得益于高品質(zhì)抗鋸齒處 理的圖元能用更多的樣本來著色,而用給少的樣本為其他的圖元著色,因 此基于渲染狀態(tài)采用抗鋸齒處理改善了效率,優(yōu)化了圖像品質(zhì)和性能。
本發(fā)明已參考特定實施例描述如上。但是,本領(lǐng)域技術(shù)人員可以理解 的是,根據(jù)本發(fā)明的教導(dǎo)還可以做出更多種的變型和修改,這些變型和修 改對仍然沒有脫離本發(fā)明所附的權(quán)利要求界定的本發(fā)明的精神和范圍。本發(fā)明的一個實施例可被實施為軟件產(chǎn)品以和電腦系統(tǒng)使用。軟件產(chǎn)品的軟 件定義了實施例的功能(包括本文描述的方法),并可被包括在不同的計算
機(jī)可讀存儲媒介上。計算機(jī)可讀存儲媒介例如可包括但不限于(i)其上 信息被永久存儲的不可重寫存儲^f某介(例如,計算機(jī)中諸如CD-ROM驅(qū)動 可讀的CD-ROM盤、閃存、ROM芯片或其他固態(tài)非揮發(fā)半導(dǎo)體存取器等 只讀存儲器裝置);(ii)存儲可改變信息的可讀存儲媒介(例如,軟盤驅(qū)動 器或硬盤驅(qū)動器或其他任何固態(tài)隨即存取半導(dǎo)體存儲器等軟盤)。相應(yīng)地, 前面的描述和附圖應(yīng)被當(dāng)做示意性的而不是限制性的。
權(quán)利要求
1、一種配置成用混合抗鋸齒對圖形圖元進(jìn)行著色的計算裝置,所述計算裝置包括光柵化器,所述光柵化器包括混合抗鋸齒控制單元,所述混合抗鋸齒控制單元配置用來接收圖形圖元;確定用于對與圖形圖元交叉的每個像素進(jìn)行抗鋸齒處理的超采樣簇的數(shù)量;確定用于為每個超采樣簇處理圖形圖元的多重樣本的數(shù)量;以及片段著色單元,所述片段著色單元與所述光柵化器相連接,并設(shè)置為使用通過片段著色單元的多個通道對圖形圖元著色,其中用于產(chǎn)生和圖形圖元交叉的每個混合抗鋸齒像素的多個通道的數(shù)量少于或等于超采樣簇的數(shù)量。
2、 根據(jù)權(quán)利要求1所述的計算裝置,其中所述超采樣簇的數(shù)量基于 所述計算裝置的渲染狀態(tài)來確定。
3、 根據(jù)權(quán)利要求2所述的計算裝置,其中所述渲染狀態(tài)包括高品質(zhì) 模式設(shè)置、高性能設(shè)置、alpha測試設(shè)置和使用具有高頻內(nèi)容的紋理貼圖 中的一種或多種。
4、 根據(jù)權(quán)利要求1所述的計算裝置,其中所述片段著色單元進(jìn)一步 被設(shè)置為產(chǎn)生后著色器覆蓋,所述后著色器覆蓋表明對于每個超采樣簇來 說,哪個多重樣本被圖形圖元所覆蓋。
5、 根據(jù)權(quán)利要求4所述的計算裝置,進(jìn)一步包括光柵運算單元,所 述光柵運算單元連接于所述片段著色單元,并被設(shè)置為根據(jù)所述后著色器 覆蓋范圍對由圖形圖元所覆蓋的每個多重樣本進(jìn)行圖形圖元的z測試,以 產(chǎn)生z測試值。
6、 根據(jù)權(quán)利要求5所述的計算裝置,其中所述光柵運算單元進(jìn)一步 被設(shè)置成為和每個所述圖形圖元相交叉的 一部分z緩沖器來壓縮z測試值。
7、 根據(jù)權(quán)利要求1所述的計算裝置,其中被用來對和第一個圖形圖 元相交叉的每個像素進(jìn)行抗鋸齒處理的所述超采樣簇的數(shù)量不同于被用來 對和第二個圖形圖元相交叉的每個像素進(jìn)行抗鋸齒處理的所述超采樣簇的數(shù)量。
8、 根據(jù)權(quán)利要求1所述的計算裝置,其中被用來產(chǎn)生和圖形圖元相 交叉的每個混合抗鋸齒化像素的多個通道的數(shù)量不包括不具有^^皮所述圖形 圖元覆蓋的至少一個多重樣本的任何超采樣簇的通道。
9、 根據(jù)權(quán)利要求1所述的計算裝置,其中所述片段著色單元進(jìn)一步 被設(shè)置為對所述圖形圖元進(jìn)行著色,所述著色是通過對每個所述超采樣簇 中的僅僅其中一個所述多重樣本計算著色值,并為處于同一超采樣簇中的 其他多重樣本復(fù)制所述著色值來進(jìn)行的。
10、 根據(jù)權(quán)利要求l所述的計算裝置,其中所述片段著色單元進(jìn)一步 被設(shè)置用于通過下列方式為所述超采樣簇中的第一個超采樣簇計算著色 值使用在所述第 一個超采樣簇中的第 一個多重樣本的位置; 使用被圖形圖元覆蓋的所述第 一個超采樣簇中的多重樣本的幾何質(zhì) 心作為質(zhì)心;或使用在第 一個超采樣簇中被圖形圖元覆蓋并最接近第 一個超釆樣簇 的幾何質(zhì)心的多重樣本作為近似質(zhì)心。
全文摘要
本發(fā)明公開了一種配置成用混合抗鋸齒對圖形圖元進(jìn)行著色的計算裝置。根據(jù)本發(fā)明的在圖元著色過程中用于動態(tài)調(diào)整像素采樣率的系統(tǒng)和方法能改進(jìn)圖像質(zhì)量或增加著色性能?;旌峡逛忼X處理通過在每個像素段中選擇許多著色樣本來實施。當(dāng)一簇子像素樣本(多個樣本)每次穿過段著色器流水線都被處理時,超采樣和多重采樣混合抗鋸齒就被使用?;阡秩緺顟B(tài),每個圖元的著色器流水線和每個簇的多個樣本能被動態(tài)地確定。
文檔編號G06T1/20GK101620725SQ200910148769
公開日2010年1月6日 申請日期2009年7月3日 優(yōu)先權(quán)日2008年7月3日
發(fā)明者卡斯·W.·埃弗里特, 史蒂文·E.·莫爾納 申請人:輝達(dá)公司