亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

圖形處理系統(tǒng)的制作方法

文檔序號(hào):6578345閱讀:177來(lái)源:國(guó)知局
專利名稱:圖形處理系統(tǒng)的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及計(jì)算機(jī)圖形的處理,更具體而言,涉及用于在顯示屏
上顯示的3維(3D)圖形的處理。
背景技術(shù)
如本領(lǐng)域公知的,3D圖形處理一般通過首先將要顯示的場(chǎng)景 (scene)分成若干個(gè)類似的基本分量(稱為"圖元"(primitive)) 以使3D圖形處理操作更易于執(zhí)行來(lái)執(zhí)行。這些"圖元"通常具有簡(jiǎn) 單多邊形、例如三角形的形式。
用于要顯示的場(chǎng)景的圖元通常由圖形處理系統(tǒng)的應(yīng)用程序接口 使用從要求圖形顯示的應(yīng)用(例如游戲)接收到的圖形繪制指令(請(qǐng) 求)來(lái)生成。
每個(gè)圖元在這個(gè)階段通常由頂點(diǎn)(vertex)集合定義并表示。圖 元的每個(gè)頂點(diǎn)與其表示該頂點(diǎn)的數(shù)據(jù)集合(例如位置、顏色、材質(zhì) (texture)及其它屬性數(shù)據(jù))相關(guān)聯(lián)。接著,例如在對(duì)該頂點(diǎn)(該頂 點(diǎn)所涉及的圖元)進(jìn)行柵格化及渲染(render)以供顯示時(shí),使用該 數(shù)據(jù)。
一旦生成并定義了場(chǎng)景的圖元及其頂點(diǎn),則可用圖形處理系統(tǒng)對(duì) 它們進(jìn)4亍處理,以^使例如顯示該場(chǎng)景。
該處理基本包括確定覆蓋要處理的場(chǎng)景區(qū)域的采樣點(diǎn)陣列的哪 些采樣點(diǎn)圖元被圖元所覆蓋,并接著確定每個(gè)采樣點(diǎn)在該采樣點(diǎn)呈現(xiàn) 該圖元應(yīng)該具有的外形(例如,在其顏色等方面)。這些處理通常分 別#皮稱為柵格化與渲染。
柵格化處理確定將用于圖元的樣本位置(即,在要顯示的場(chǎng)景中表示圖元要使用的樣本點(diǎn)的(x, y)位置)。這一般使用圖元的頂點(diǎn) 的位置來(lái)實(shí)現(xiàn)。
渲染處理接著導(dǎo)出顯示在樣本點(diǎn)的圖元必需的數(shù)據(jù),例如紅、綠
及藍(lán)(RGB)顏色值及"a "(透明度)值(即對(duì)各樣本點(diǎn)"著色
(shade)")。如本領(lǐng)域已知的,這可包括應(yīng)用材質(zhì)、混合樣本點(diǎn)數(shù) 據(jù)值等。
(在3D圖形學(xué)中,術(shù)語(yǔ)"柵格化"有時(shí)用來(lái)表示至樣本位置的 圖元轉(zhuǎn)換及渲染。但是,本文中"4冊(cè)格化,,將用于僅表示將圖元邀:據(jù) 轉(zhuǎn)換為采樣點(diǎn)地址。)
這些處理一般通過將采樣點(diǎn)"表示"為通常被稱為"片元
(fragment)"的圖形實(shí)體來(lái)執(zhí)行,在片元上執(zhí)行圖形處理操作(例 如渲染)。每個(gè)此類片元將對(duì)應(yīng)于給定的樣本點(diǎn)或者采樣點(diǎn)集合,且 實(shí)際上表示在所涉及的采樣點(diǎn)(正在使用該片元來(lái)渲染的采樣點(diǎn))的 圖元并用于對(duì)其進(jìn)行渲染。
因此"片元"實(shí)際上是插入到圖元的給定場(chǎng)景空間樣本點(diǎn)的圖元 數(shù)據(jù)集合(與其相關(guān)聯(lián))。它還包括對(duì)在所涉及的樣本點(diǎn)(片元位置) 的圖元進(jìn)存^色i,^:每圖元及其它狀態(tài)數(shù)拔,形片^在被處 理時(shí)可被合理地認(rèn)i是實(shí)際上等效于場(chǎng)景的:;"豫素".。..,
實(shí)際上,'每個(gè)圖形"片元"可對(duì)應(yīng)于最后顯示的單個(gè)^f象素(圖像 元素)(因?yàn)?,在像素是最后顯示的單個(gè)點(diǎn)時(shí),在圖形處理器操作(渲 染)的"片元"與該顯示的像素之間可存在一對(duì)一的映射)。但是, 可存在在片元與顯示像素之間不具有一對(duì)一對(duì)應(yīng)的情形,例如在顯示 最后圖像之前在所渲染圖像上執(zhí)行特定形式的后向處理、例如尺度變 小的情形。
在一種通常被稱為"立即模式"圖形處理或渲染的已知圖形處理 技術(shù)中,圖元在其生成時(shí)被一個(gè)接一個(gè)地處理。
在這類系統(tǒng)中,基于先到先服務(wù)原則將圖元(其頂點(diǎn))傳遞到圖 形系統(tǒng),因此圖元以其接收順序進(jìn)行渲染。在圖形處理系統(tǒng)中也已知^f吏用所謂"基于區(qū)塊(tile-based)"或 "延遲"的渲染。在基于區(qū)塊的渲染中,不是像立即模式中渲染那樣
一舉將整個(gè)場(chǎng)景進(jìn)行處理,而是將要顯示的場(chǎng)景分成多個(gè)通常稱為 "區(qū)塊"的較小子區(qū)域。每個(gè)區(qū)塊(子區(qū)域)單獨(dú)渲染(通常逐個(gè)地),
然后將所渲染的區(qū)塊(子區(qū)域)進(jìn)行重組,以便提供完整場(chǎng)景以供顯
示。在此類布置中, 一般將場(chǎng)景分為規(guī)則尺寸及形狀的子區(qū)域(區(qū)塊) (其通常為例如正方形或矩形),但是這不是必需的。
在立即模式及基于區(qū)塊的繪制中,至柵格化與渲染處理的輸入一 般包括要由圖形處理器執(zhí)行的圖形命令列表。如本領(lǐng)域中已知的,該 "命令列表"將包括指示圖形處理器繪制圖元的命令,以及指示其它 圖形處理、例如渲染狀態(tài)變化的命令,開始及停止區(qū)塊命令(在基于 區(qū)塊的系統(tǒng)中)等。
在立即模式渲染中,該命令列表將僅列出要逐條執(zhí)行的命令,但 是在基于區(qū)塊的繪制中,該列表可以并且通常將被分成"區(qū)塊"(即, 將把每個(gè)區(qū)塊的命令單獨(dú)列到其它區(qū)塊的命令)。
當(dāng)前的圖形處理系統(tǒng)的一個(gè)缺點(diǎn)是因?yàn)閳D元凈皮連續(xù)且一般不以 完全前后順序進(jìn)行處理,所以給定采樣點(diǎn)(且因此片元及^f象素)可在 處理場(chǎng)景以供顯示時(shí)被多次著色。這種情況在首先接收及渲染的圖元 隨后被后一圖元覆蓋使得該首先渲染的圖元實(shí)際上在所涉及的像素 (及采樣點(diǎn))不可見時(shí)出現(xiàn)。圖元可以這種方式進(jìn)行多次改寫,且這 一般導(dǎo)致對(duì)每個(gè)正被渲染的場(chǎng)景執(zhí)行多次、最終冗余的渲染操作。這 種現(xiàn)象通常被稱為"無(wú)效渲染(overdraw)"。
執(zhí)行這種最終冗余操作的結(jié)果包括降低的幀率及增加的存儲(chǔ)器 帶寬要求(例如,由于取將被后一圖元改寫的圖元的數(shù)據(jù))。這兩種 情況都不是合乎需要的,并降低圖形處理系統(tǒng)的整體性能。在要渲染 的場(chǎng)景變得更大且更復(fù)雜(因?yàn)閷⒃诳赡芸梢娊嵌却嬖诟啾砻?且 在增加可編程片元著色的使用(因?yàn)槭褂每删幊唐珌?lái)對(duì)給定片 元著色的成本相對(duì)較大)時(shí),這些問題將趨于突出。"無(wú)效渲染"的問題可通過發(fā)送圖元用于以前后順序進(jìn)行渲染而 顯著降低。但是,其它'圖形處理要求、例如對(duì)諸如材質(zhì)的資源的相關(guān) 訪問的需要以及使每幀API調(diào)用的數(shù)量最小化的需要, 一般授權(quán)對(duì)圖 元的其它優(yōu)選排序要求。此外,完全前后類別的圖元在渲染之前可能 是不實(shí)用的,雖然還維持圖元至圖形處理單元的足夠吞吐量。這些及 其它因素意味著幀的圖元的前后排序在實(shí)踐中 一般不是可能或合乎 需要的。
因此,已經(jīng)提議了若干其它技術(shù)來(lái)盡量降低在處理場(chǎng)景以供顯示 時(shí)執(zhí)行的"無(wú)效渲染"的數(shù)量(即,避免渲染不可見圖元和/或片元等)。
例如,已知在發(fā)送圖元(或片元)以供渲染之前執(zhí)行多種形式的 隱藏表面去除,以便查看該圖元(或片元等)是否將被已渲染圖元(或 者片元)遮蔽(在這種情況下,不需要渲染該新片元和/或圖元)。如 本領(lǐng)域已知的,此類隱藏表面去除可包括例如早期阻塞揀選和/或早期 Z (深度)測(cè)試處理。
但是,這些"早期"(在渲染之前)隱藏表面去除技術(shù)只能考慮 到在要對(duì)新圖元或片元(被進(jìn)行"早期"測(cè)試的圖元或片元)進(jìn)行處
理時(shí)已經(jīng)渲染的圖元。這是因?yàn)橄嚓P(guān)測(cè)試數(shù)據(jù)(例如z緩存)將只包 含已經(jīng)被處理的圖元的數(shù)據(jù)。因此,這些測(cè)試不能例如在圖元實(shí)際上 被渲染順序中的后一圖元阻塞時(shí)避免"無(wú)效渲染"。
對(duì)應(yīng)用(例如游戲)開發(fā)人員而言還/>知的是對(duì)應(yīng)用進(jìn)行配置, 使得每個(gè)場(chǎng)景實(shí)際上被渲染兩次,首先繪制具有無(wú)效Z測(cè)試與Z寫入 以外的所有渲染狀態(tài)的不透明場(chǎng)景幾何圖形,然后第二次用所有有效 渲染狀態(tài)。
這具有這樣的效果第一渲染經(jīng)過(pass)有效地用對(duì)于每個(gè)片 元(樣本)位置最近的不透明圖元的Z (深度)值來(lái)填充Z緩沖器。 在第二全部渲染經(jīng)過中,因?yàn)閆緩沖器現(xiàn)在填充有最近的不透明圖元 的Z值,所以在第二經(jīng)過上的任意早期Z測(cè)試可更有效地拒絕被阻塞 的片元,且特別是要考慮到在第一 "僅Z"渲染經(jīng)過中渲染的所有圖元,而不只是考慮到在所涉及片元之前已經(jīng)渲染的圖元。
因此,該技術(shù)能夠提供更有效的早期Z測(cè)試處理,但是它具有以
下缺點(diǎn)給定場(chǎng)景必須由應(yīng)用生成并被圖形處理系統(tǒng)處理兩次, 一次 用于僅Z經(jīng)過,且接著又用于"全部"渲染經(jīng)過。雖然這對(duì)于功能較 高的、例如桌上型圖形系統(tǒng)可能不太有問題,但是其它功能較低的圖 形系統(tǒng)、例如便攜式及移動(dòng)裝置可能例如具有帶寬限制,這些限制使 得對(duì)每個(gè)完整的可能可見場(chǎng)景生成并繪制兩次是不合乎需要的。
在由Timo Alia、 Ville Miettinen及Petri Nordlund在Siggraph 2003 的"Delay Streams for Graphics Hardware"所述的另一提議中,圖形處 理流水線(pipeline)被改進(jìn)成包含延遲流及第二早期阻塞測(cè)試階段。 第二早期阻塞測(cè)試在柵格化與渲染之前但在第 一早期阻塞初始階段 及該延遲流之后進(jìn)行。
本文的思路是在給定圖元或片元到達(dá)第二早期阻塞測(cè)試階段的 時(shí)候,更多片元將有助于例如Z緩存數(shù)據(jù)(因?yàn)樘匾庠O(shè)置的延遲流給 了更多片元在圖元或片元到達(dá)第二早期阻塞測(cè)試階段之前完成其處 理的時(shí)間),^f吏得第二阻塞測(cè)試階^a能夠考慮到比標(biāo)準(zhǔn)的單個(gè)早期阻 塞測(cè)試布置中更多的圖元。
但是,該布置要求對(duì)圖形處理流水線的某些改進(jìn),例如增加第二 早期阻塞測(cè)試階段及延遲流。
因此,申請(qǐng)人認(rèn)為留有在圖形處理系統(tǒng)中盡量減小"無(wú)效渲染" 問題的改進(jìn)空間。

發(fā)明內(nèi)容
依照本發(fā)明的第一方面,提供了一種操作圖形處理器的方法,其 中要由圖形處理器執(zhí)行的、包括指示圖形處理器繪制圖元的命令的圖 形命令列表在所述命令被圖形處理器執(zhí)行之前被準(zhǔn)備并存儲(chǔ)在存儲(chǔ) 器中,該方法包括
圖形處理器在所存儲(chǔ)命令列表的 一部分中的命令序列上執(zhí)行第 一處理經(jīng)過, 以便導(dǎo)出數(shù)據(jù),所述數(shù)據(jù)可幫助從要響應(yīng)于所述命令列表的該部分中 的命令而繪制的圖元中選擇用于針對(duì)采樣點(diǎn)集合中的每個(gè)采樣點(diǎn)進(jìn)
^"處理的一個(gè)圖元或多個(gè)圖元;
存儲(chǔ)導(dǎo)出的數(shù)據(jù),用于幫助選擇要在每個(gè)采樣點(diǎn)進(jìn)行處理的圖 元;以及
在命令序列上執(zhí)行第二處理經(jīng)過以便對(duì)要響應(yīng)于所存儲(chǔ)命令列 表的該部分中的命令而繪制的圖元進(jìn)行處理,使用所存儲(chǔ)數(shù)據(jù)來(lái)幫助
擇要在第二處理經(jīng)過中對(duì)每個(gè)采樣點(diǎn)進(jìn)行處理的一個(gè)或多個(gè)圖元。
依照本發(fā)明的第二方面,提供了一種圖形處理系統(tǒng),其中要由圖 形處理系統(tǒng)執(zhí)行的、包括指示圖形處理系統(tǒng)繪制圖元的命令的圖形命 令列表在命令被圖形處理系統(tǒng)執(zhí)行之前被準(zhǔn)備并存儲(chǔ)在存儲(chǔ)器中,該 圖形處理系統(tǒng)包括
用于完成以下功能的部件在所存儲(chǔ)命令列表的一部分中的命令 序列上執(zhí)行第一處理經(jīng)過,以便導(dǎo)出數(shù)據(jù),所述數(shù)據(jù)可幫助從要響應(yīng) 于所述命令列表的該部分中的命令而繪制的圖元中選擇用于針對(duì)采 樣點(diǎn)集合中的每個(gè)釆樣點(diǎn)進(jìn)行處理的 一個(gè)圖元或多個(gè)圖元;
用于存儲(chǔ)所導(dǎo)出數(shù)據(jù)以幫助選擇要在每個(gè)采樣點(diǎn)進(jìn)行處理的圖 元的部4牛;以及
用于完成以下功能的部件在命令序列上執(zhí)行第二處理經(jīng)過以便 對(duì)響應(yīng)于所存儲(chǔ)命令列表的該部分中的命令而繪制的圖元進(jìn)行處理, 使用所存儲(chǔ)數(shù)據(jù)來(lái)幫助從要響應(yīng)于所存儲(chǔ)命令列表的該部分的命令 而繪制的圖元序列中選擇要在第二處理經(jīng)過中對(duì)每個(gè)采樣點(diǎn)進(jìn)行處 理的圖元。
本發(fā)明提供圖形處理系統(tǒng)及方法,其中所存儲(chǔ)命令列表的 一部分 中的命令序列(即,圖形命令集合)被處理一次以便確定幫助選擇哪 個(gè)圖元要在采樣點(diǎn)集合的每個(gè)采樣點(diǎn)進(jìn)行處理(例如并優(yōu)選地確定哪個(gè)圖元可見,如下文將進(jìn)一步論述),然后被第二次處理,但是使用 所確定圖元信息來(lái)幫助標(biāo)識(shí)在第二處理經(jīng)過期間對(duì)給定采樣點(diǎn)將處 理(例如渲染)哪個(gè)圖元。
換句話說(shuō),與上述應(yīng)用驅(qū)動(dòng)兩階段渲染處理類似,本發(fā)明使用第 一處理經(jīng)過來(lái)幫助確定圖元集合(命令列表的該部分對(duì)應(yīng)的圖元集 合)中要對(duì)給定(且每個(gè))采樣點(diǎn)進(jìn)行渲染的圖元(例如,并優(yōu)選地 確定圖元的可視性),并接著執(zhí)行利用所確定圖元處理(例如可視性) 信息的第二處理經(jīng)過。
相應(yīng)地,本發(fā)明提供這樣的系統(tǒng)其中與命令列表的該部分的圖 元對(duì)應(yīng)的第二處理(渲染)經(jīng)過可使用與要在相應(yīng)采樣點(diǎn)處理的圖元 有關(guān)的更準(zhǔn)確和/或詳細(xì)信息來(lái)執(zhí)行,因此允許例如從第二經(jīng)過的渲染 處理中更有效地揀選圖元及片元,且因此降低甚至消除在第二處理經(jīng) 過中出現(xiàn)的無(wú)效渲染的數(shù)量,因此帶來(lái)優(yōu)點(diǎn)并減少上文對(duì)該經(jīng)過所討 論的問題。尤其是,本發(fā)明可例如允許第二處理經(jīng)過解決被從在渲染 順序中后來(lái)到達(dá)的圖元生成的片元所阻塞的圖元(并因此,例如避免 對(duì)采樣點(diǎn)的不可見圖元進(jìn)行渲染)。
此外,本發(fā)明提供尤其是在例如尤其是可用于移動(dòng)及4更攜式裝置 中的功能較低和/或受限系統(tǒng)中使用的圖形處理器的情況下比上述兩 階^R應(yīng)用驅(qū)動(dòng)布置更優(yōu)的布置。
尤其是,因?yàn)楸景l(fā)明將所存儲(chǔ)命令列表用于其兩個(gè)處理"經(jīng)過" 的每個(gè),所以它避免了如在應(yīng)用級(jí)方法中出現(xiàn)的又第二次完全生成場(chǎng)
景的需要(因?yàn)樵趹?yīng)用級(jí)方法中,雖然要生成相同圖元集合,但是新 的圖元命令集合等將被發(fā)送到圖形處理器用于第二渲染經(jīng)過)。
例如,這可提供在本發(fā)明中顯著的存儲(chǔ)帶寬及處理節(jié)省,例如因 為不需要將圖元的幾何形狀處理(例如變換或剪輯)兩次,且在基于 區(qū)塊的系統(tǒng)中,不需要將該幾何形狀歸類到區(qū)塊兩次。類似地,應(yīng)用 場(chǎng)景數(shù)據(jù)結(jié)構(gòu)不需要纟皮;險(xiǎn)索兩次。
本發(fā)明還可不要求應(yīng)用(例如游戲)開發(fā)人員采取特定行動(dòng)或步驟。當(dāng)它對(duì)兩種處理經(jīng)過使用相同命令列表與數(shù)據(jù)結(jié)構(gòu)時(shí),實(shí)現(xiàn)本發(fā) 明所需的任意改進(jìn)可在圖形處理系統(tǒng)本身執(zhí)行,因此避免了對(duì)主機(jī)系 統(tǒng)及應(yīng)用操作的任意改變的需要。
本發(fā)明還比上述的延遲流及第二早期阻塞測(cè)試布置有優(yōu)勢(shì),因?yàn)?本發(fā)明例如不要求對(duì)該"延遲流"布置需要的現(xiàn)有圖形處理流水線的 結(jié)構(gòu)改變。
實(shí)際上,本發(fā)明的關(guān)鍵優(yōu)勢(shì)在于它可用在并用于現(xiàn)有已知圖形處 理體系結(jié)構(gòu),且尤其可只是再使用現(xiàn)有已知流水線組件及功能以獲得 其優(yōu)勢(shì)。這是因?yàn)?,其中本發(fā)明通過將給定命令列表(的部分)傳過 圖形流水線兩次來(lái)有效操作,而不是實(shí)際上發(fā)出第二命令集合以再一 次生成圖元(像在應(yīng)用級(jí)方法中那樣),且不是改變流水線使得單個(gè) 渲染經(jīng)過可使用更多可視性信息(像在"延遲流"方法中那樣)。
表的該部分的命令而繪制的圖元中哪個(gè)圖元要在本發(fā)明的第二處理 經(jīng)過中對(duì)每個(gè)采樣點(diǎn)進(jìn)行處理,所述第一處理經(jīng)過可以任意所需且合 適方式、例如根據(jù)要用來(lái)確定圖元是否要在采樣點(diǎn)進(jìn)行處理的準(zhǔn)則來(lái) 執(zhí)行。
優(yōu)選地,第一處理經(jīng)過對(duì)采樣點(diǎn)集合的每個(gè)采樣點(diǎn)確定可用來(lái)幫 助選擇要對(duì)各個(gè)采樣點(diǎn)進(jìn)行處理的圖元的數(shù)據(jù)。
(這里應(yīng)該注意,本文對(duì)"第一,,處理經(jīng)過的引用旨在將該經(jīng)過 僅區(qū)別為是本發(fā)明的處理經(jīng)過的第一處理經(jīng)過,且例如不要求該經(jīng)過
然這可能是這種情況)。類似評(píng)"i侖應(yīng)用到對(duì)"第二,,處理經(jīng)過的引用。 將還能夠使其它處理經(jīng)過出現(xiàn)在本發(fā)明的第一與第二處理經(jīng)過之間 (盡管這不是優(yōu)選的)。
同樣,在本發(fā)明的處理經(jīng)過中,對(duì)在該命令列表部分的命令上執(zhí) 行處理經(jīng)過的引用旨在是指包括由圖形處理系統(tǒng)執(zhí)行那些命令中的 某些或全部的處理,不是指命令列表本身的某種形式的處理、例如寫入該列表的性能,讀命令列表并執(zhí)行其命令(適當(dāng)時(shí))命令列表本 身不被寫入。)
在特別優(yōu)選實(shí)施例中,第一處理經(jīng)過導(dǎo)出或確定數(shù)據(jù),所述數(shù)據(jù) 可幫助確定要響應(yīng)于命令列表的該部分中的命令而繪制的圖元中哪 個(gè)(些)圖元將在所涉及采樣點(diǎn)可見。這尤其有用,因?yàn)樗试S例如 通過對(duì)應(yīng)于該命令列表部分的圖元的第二處理經(jīng)過如果需要就只處 理(例如,并優(yōu)選地渲染)可見圖元,因此例如避免在第二處理經(jīng)過 中渲染實(shí)際上在給定采樣點(diǎn)不可見的圖元。
因此,在特別優(yōu)選實(shí)施例中,用于導(dǎo)出數(shù)據(jù)以幫助選擇對(duì)應(yīng)于命 令列表的該部分的圖元中要在每個(gè)采樣點(diǎn)進(jìn)行處理的圖元的步驟或 裝置,包括導(dǎo)出或確定可幫助確定對(duì)應(yīng)于命令列表的該部分(對(duì)其響 應(yīng)而繪制)的圖元中哪個(gè)或哪些圖元是或者可能是在每個(gè)采樣點(diǎn)可見 的數(shù)據(jù)(并接著存儲(chǔ)該數(shù)據(jù))。
對(duì)這些布置中的圖元的可視性"測(cè)試"可按照需要執(zhí)行,但是在 優(yōu)選實(shí)施例中,包括在每個(gè)樣本位置執(zhí)行深度(Z)測(cè)試以便基于該 圖元的Z(深度)值確定在每個(gè)樣本位置的可見(例如,并優(yōu)選地根 據(jù)所定義可視性測(cè)試確定最近的)圖元,這在本領(lǐng)域是公知的。
因此,在特別優(yōu)選實(shí)施例中,第一處理經(jīng)過包括在每個(gè)樣本位置 在對(duì)應(yīng)于命令列表的該部分的圖元上執(zhí)行Z測(cè)試(深度測(cè)試),優(yōu)選 地以便基于該圖元的Z (深度)值確定可用來(lái)對(duì)要在每個(gè)樣本位置進(jìn) 行處理的圖元進(jìn)行標(biāo)識(shí)的數(shù)據(jù)。
在這些布置中,用來(lái)例如確定要處理的圖元的深度測(cè)試Z比較函 數(shù)按照要求(且對(duì)要處理的圖形數(shù)據(jù)適當(dāng)時(shí)——實(shí)踐中應(yīng)該使用對(duì)正 在被處理的數(shù)據(jù)(圖元)所定義的測(cè)試)可為"<"(小于)、"<=" (小于或等于)、">"(大于)或者">=,,(大于或等于)。
優(yōu)選地,在第一處理經(jīng)過中以適當(dāng)方式(且優(yōu)選地,就深度(或 其它)測(cè)試而言,以對(duì)所涉及圖形處理系統(tǒng)的正常方式)渲染圖元以 便允許執(zhí)行深度(或其它)測(cè)試。同樣,在這里要領(lǐng)會(huì),在本發(fā)明的優(yōu)選實(shí)施例中,在本發(fā)明的第 一處理經(jīng)過中導(dǎo)出的"圖元選擇"數(shù)據(jù)(至少部分)(例如使用從其
繪制的圖元進(jìn)行處理中(且優(yōu)選地從對(duì)所述圖元渲染中)導(dǎo)出。類似 地且如本文進(jìn)一步所述,本發(fā)明優(yōu)選在第一處理經(jīng)過中包括對(duì)要響應(yīng) 于正在處理的命令列表的該部分中的命令而繪制的圖元(優(yōu)選地,如 將在下文進(jìn)一步所述,以更有限的、例如"僅深度,,方式)進(jìn)行渲染 (繪制),且接著對(duì)要響應(yīng)于在第二處理經(jīng)過中再次被處理的命令列 表的該部分中的命令而繪制的圖元進(jìn)行渲染(繪制)(優(yōu)選地,這次 用于顯示(輸出))。
在一種特別優(yōu)選實(shí)施例中,只有確定用于幫助選擇要在每個(gè)采樣 點(diǎn)進(jìn)行處理的圖元所必需的處理(渲染)在第一處理經(jīng)過中執(zhí)行。這 可意味著在命令列表的該部分中的某些命令實(shí)際上不在笫一處理經(jīng) 過中執(zhí)行。
因此,在基于深度測(cè)試的確定的情況下,在一種特別優(yōu)選實(shí)施例 中,在該命令列表部分上的第一處理經(jīng)過優(yōu)選包括在要響應(yīng)于命令列 表的該部分中的命令而繪制的圖元上執(zhí)行僅Z(僅深度)渲染經(jīng)過,
即在其中渲染圖元、但在其中有效的僅渲染狀態(tài)為z及z測(cè)試的讀與 寫的處理經(jīng)過。
對(duì)在通過命令列表的第一處理經(jīng)過中所執(zhí)行的處理進(jìn)行限制具
有這樣的優(yōu)勢(shì)該處理經(jīng)過可更有效并消耗較少資源,因此使它例如 更可接受在更受限系統(tǒng)中進(jìn)行執(zhí)行。例如,在僅Z渲染經(jīng)過的情況下, 可填充Z緩沖器,但是可減少或最小化其它存儲(chǔ)器的訪問,且片元處 理器可為空閑。
因此,在一種特別優(yōu)選實(shí)施例中,命令列表的(對(duì)應(yīng)于所存儲(chǔ)命 令列表的該部分的圖元的)第一處理經(jīng)過包括只執(zhí)行確定用于幫助選 擇要在每個(gè)釆樣點(diǎn)進(jìn)行處理的圖元的數(shù)據(jù)所必需的處理。
因此,在基于深度測(cè)試的測(cè)試的情況下,在一種特別優(yōu)選實(shí)施例中,對(duì)應(yīng)于所存儲(chǔ)命令列表的該部分的圖元的第一處理經(jīng)過包括在所 述圖元上執(zhí)行僅Z渲染經(jīng)過,以便確定用于幫助標(biāo)識(shí)在對(duì)應(yīng)于正在處 理的所存儲(chǔ)命令列表的該部分的圖元中哪個(gè)或哪些圖元可能或應(yīng)該 在第二處理經(jīng)過中在每個(gè)采樣點(diǎn)被處理的數(shù)據(jù)。
但是,如果需要,將還能夠執(zhí)行多于確定與要在通過命令列表在 第 一處理經(jīng)過中在每個(gè)采樣點(diǎn)進(jìn)行處理的圖元有關(guān)的數(shù)據(jù)所需的最 小處理。這對(duì)于例如允許在第一處理經(jīng)過期間建立其它有用數(shù)據(jù)結(jié)構(gòu) 可能是合乎需要的。例如,第一處理經(jīng)過還可執(zhí)行正被執(zhí)行的圖元的 某些插入操作,且存儲(chǔ)(例如緩沖)該數(shù)據(jù)以供第二處理經(jīng)過使用。
本圖形處理系統(tǒng)可按任意適合及所需方式配置成執(zhí)行第一處理
經(jīng)過。為此,將它優(yōu)選設(shè)置為適當(dāng)渲染狀態(tài)(例如僅z渲染狀態(tài))。 (如本領(lǐng)域已知的,圖形處理器為確定該處理器將在它接收到的圖形 圖元上執(zhí)行的處理而設(shè)置的渲染狀態(tài)因此可用來(lái)對(duì)執(zhí)行的處理進(jìn)行 控制。)
為此,如本領(lǐng)域已知的,在發(fā)送命令列表的該部分用于第一處理 經(jīng)過之前,可例如通過刷新處理器并將其狀態(tài)設(shè)為新(例如僅z)狀 態(tài)來(lái)對(duì)該(渲染)"狀態(tài)"進(jìn)行全局(即對(duì)所有處理單元)設(shè)置。
但是,在圖形處理系統(tǒng)具有可例如與圖元和/或片元相關(guān)聯(lián)的多個(gè) 預(yù)定義渲染狀態(tài)的特別優(yōu)選實(shí)施例中,例如在申請(qǐng)人較早前的專利申
請(qǐng)GB-A-2420261所述的技術(shù)中,則優(yōu)選地將可用預(yù)定義渲染狀態(tài)之 一(例如,渲染狀態(tài)索引"0"(或者其它索引))設(shè)置為要用于本 發(fā)明的第一處理經(jīng)過的渲染狀態(tài)(例如,且優(yōu)選地為僅Z渲染狀態(tài))。 接著,這將允許例如在將圖元(和/或片元等)發(fā)送用于第一處理經(jīng)過 時(shí)用適當(dāng)"第一經(jīng)過"渲染狀態(tài)索引等對(duì)圖元進(jìn)行標(biāo)記,使得對(duì)它們 進(jìn)行相應(yīng)處理而不是例如必須對(duì)整個(gè)處理流水線的狀態(tài)進(jìn)行全局刷 新與改變。
優(yōu)選地,該布置如下在對(duì)命令集合觸發(fā)按本發(fā)明的方式的第一 處理經(jīng)過時(shí),與要響應(yīng)于命令集合而繪制的每個(gè)圖元相關(guān)聯(lián)的預(yù)定義渲染狀態(tài)(例如,渲染狀態(tài)索引(或者標(biāo)記等))在圖元浮皮發(fā)送用于 第一經(jīng)過處理之前被改變(重寫)為預(yù)定義的"第一經(jīng)過"渲染狀態(tài) (但是,只對(duì)該經(jīng)過改變)。接著,這將允許圖元自動(dòng)為該經(jīng)過揀選 例如僅Z的笫一經(jīng)過渲染狀態(tài),而不需要對(duì)它們和/或處理器的渲染狀 態(tài)的早期重定義或改變。
類似地,優(yōu)選的是圖形處理系統(tǒng)支持片元著色程序,因?yàn)閷⒋嬖?對(duì)第一經(jīng)過(例如僅Z)處理(渲染狀態(tài))保留且使用的預(yù)定義片元 程序地址。則,這將再次允許圖元及片元在經(jīng)受本發(fā)明的第一經(jīng)過時(shí) 用該預(yù)定義片元程序地址進(jìn)行標(biāo)注,且因此避免例如對(duì)圖形處理器應(yīng)
用全局第一經(jīng)過(例如僅z)狀態(tài)的需要、和/或改變?cè)撎幚砥鞯闹虚g
狀態(tài)以推進(jìn)圖元和/或片元正在經(jīng)受本發(fā)明的第 一 經(jīng)過的信息的需要。
相應(yīng)地,在這些布置中所保留的程序地址將觸發(fā)第一經(jīng)過處理的 適當(dāng)動(dòng)作(例如片元著色器程序)。在優(yōu)選實(shí)施例中,它僅僅使片元 著色器(階段或單元)被忽略(因?yàn)椋缭趦Hz的渲染狀態(tài)的情況 下,例如將不需要執(zhí)行片元著色程序,且因此初始化片元著色器的電 路可僅僅響應(yīng)于所保留程序地址而將其省略)。
在第一處理經(jīng)過中導(dǎo)出并存儲(chǔ)用于幫助選擇要對(duì)每個(gè)采樣點(diǎn)進(jìn) 行處理的數(shù)據(jù),可具有任何合適且所需形式。該數(shù)據(jù)可例如取決于第 一處理經(jīng)過的性質(zhì)。優(yōu)選地,它包括提供確切或保留信息用于選擇要 在第二處理經(jīng)過中對(duì)采樣點(diǎn)進(jìn)行處理的圖元。
在第一處理經(jīng)過中導(dǎo)出的數(shù)據(jù)可以、并在優(yōu)選實(shí)施例中允許對(duì)要 針對(duì)一個(gè)或每個(gè)采樣點(diǎn)進(jìn)行處理的單個(gè)圖元進(jìn)行標(biāo)識(shí),或者它可只最 多允許對(duì)要針對(duì)一個(gè)或每個(gè)采樣點(diǎn)進(jìn)4亍處理的一組圖元進(jìn)行標(biāo)識(shí)。后 一種情況可還具有優(yōu)勢(shì),因?yàn)樗蛇€允許減少在第二處理經(jīng)過中對(duì)采 樣點(diǎn)所處理的圖元的數(shù)量。
在第一處理經(jīng)過中所確定的數(shù)據(jù)可例如、并在優(yōu)選實(shí)施例中直接 指明要在第二處理經(jīng)過中對(duì)采樣點(diǎn)進(jìn)行處理的一個(gè)或多個(gè)圖元,或者 它可例如為、并在另一優(yōu)選實(shí)施例中是可用于導(dǎo)出要對(duì)采樣點(diǎn)進(jìn)行處在后一情況下,該數(shù)據(jù)可例如、并在優(yōu)選實(shí)施例中包括可用于排 除或拒絕圖元對(duì)給定采樣點(diǎn)的處理(使得,因此最多只有圖元的子集 將在第二處理經(jīng)過中對(duì)該采樣點(diǎn)進(jìn)行處理)。
因此,在一種優(yōu)選實(shí)施例中,導(dǎo)出的用于幫助一個(gè)或多個(gè)圖元的 選擇的凄史據(jù)可包括能夠幫助標(biāo)識(shí)所述一個(gè)或多個(gè)圖元、且優(yōu)選地標(biāo)識(shí) 應(yīng)該對(duì)采樣點(diǎn)進(jìn)行處理的圖元的數(shù)據(jù)。
在另 一優(yōu)選實(shí)施例中,該數(shù)據(jù)包括能夠幫助標(biāo)識(shí)應(yīng)該不對(duì)采樣點(diǎn) 進(jìn)行處理的一個(gè)或多個(gè)圖元、例如并優(yōu)選地使得能夠從第二處理經(jīng)過 中的處理對(duì)那些圖元進(jìn)行標(biāo)識(shí)及揀選或拒絕的數(shù)據(jù)。此外,該數(shù)據(jù)優(yōu) 選允許從處理中忽略除單個(gè)圖元外的所有圖元,但是它可只允許對(duì)于 給定采樣點(diǎn)拒絕除了圖元中之一以外的 一些而不是所有。
類似地,在優(yōu)選實(shí)施例中,導(dǎo)出來(lái)幫助選擇要對(duì)采樣點(diǎn)進(jìn)行處理 的圖元的數(shù)據(jù)包括能夠指明、或者能夠用于導(dǎo)出對(duì)應(yīng)于命令列表的該 部分的圖元中要對(duì)一個(gè)(每個(gè))采樣點(diǎn)進(jìn)行處理的圖元的標(biāo)識(shí)。
在優(yōu)選實(shí)施例中,確定并存儲(chǔ)的數(shù)據(jù)幫助確定對(duì)采樣點(diǎn)最近(或 最遠(yuǎn))的圖元,和/或直接指明在采樣點(diǎn)最近(或最遠(yuǎn))的圖元。
在一種特別優(yōu)選實(shí)施例中,在第一處理經(jīng)過中導(dǎo)出的并在第一處 理經(jīng)過之后存儲(chǔ)的數(shù)據(jù)包括從第一處理經(jīng)過中導(dǎo)出的深度緩存(即, 在第一處理經(jīng)過期間對(duì)每個(gè)采樣點(diǎn)所確定的Z值)。如本領(lǐng)域已知, 這些深度緩存值將指明在每個(gè)采樣點(diǎn)發(fā)現(xiàn)的最近(或最遠(yuǎn))圖元的深 度,并因此能夠例如經(jīng)由深度測(cè)試用來(lái)確定(標(biāo)識(shí))哪個(gè)(哪些)圖 元將在第二處理經(jīng)過期間在每個(gè)采樣點(diǎn)進(jìn)行處理。(這與上述的應(yīng)用 驅(qū)動(dòng)兩階段處理類似,其中第一經(jīng)過用來(lái)"填充"深度緩沖器,使得 深度信息能夠接著被用于"過濾"第二處理經(jīng)過的圖元。)
在這種情況下,深度緩存值將不直接指明要在第二處理經(jīng)過中對(duì) 每個(gè)采樣點(diǎn)進(jìn)行處理的圖元,而是要提供用于選擇(或標(biāo)識(shí))要處理 的圖元的信息,因?yàn)槿缦挛倪M(jìn)一步所述,它們能夠^皮用來(lái)從在第二處理經(jīng)過中對(duì)采樣點(diǎn)進(jìn)行處理中揀選圖元。
在如上所述第一處理經(jīng)過為在與命令列表的該部分對(duì)應(yīng)的圖元 上的僅Z經(jīng)過的情況下,以這種方式存儲(chǔ)并使用深度緩存數(shù)據(jù)可尤其 適當(dāng)并具有優(yōu)勢(shì)。
在另 一優(yōu)選實(shí)施例中,導(dǎo)出并存儲(chǔ)用于幫助選擇或確定要在第二 處理經(jīng)過中對(duì)每個(gè)采樣點(diǎn)進(jìn)行處理的圖元的數(shù)據(jù),包括要進(jìn)行處理的 圖元的標(biāo)識(shí)符(即,能夠用于對(duì)要在第二處理經(jīng)過期間對(duì)每個(gè)采樣點(diǎn) 進(jìn)行處理的一個(gè)或多個(gè)圖元進(jìn)^f亍標(biāo)識(shí)的標(biāo)識(shí)符)。這可在例如第一處 理經(jīng)過不生成Z值的情況下是適當(dāng)?shù)?。它將還允許使用圖元標(biāo)識(shí)符而
不是z測(cè)試來(lái)對(duì)要在第二經(jīng)過中進(jìn)行處理的圖元進(jìn)行標(biāo)識(shí)(則可至少
在某些情況下是合乎需要和/或有優(yōu)勢(shì)的)。
在這種情況下,確定并存儲(chǔ)的數(shù)據(jù)將直接指明要在第二處理經(jīng)過 中對(duì)采樣點(diǎn)進(jìn)行處理的圖元。
按照要求,此類圖元標(biāo)識(shí)符的存儲(chǔ)可代替在第一處理經(jīng)過中的z 緩沖器或者其填充。優(yōu)選地,也確定并存儲(chǔ)z緩存。
在這種布置中的圖元標(biāo)識(shí)符能夠按照要求而生成。優(yōu)選地,使用
遞增計(jì)數(shù)器來(lái)在每個(gè)圖元進(jìn)入流水線以供第一經(jīng)過時(shí)給它們分配ID, 然后,例如在寫入對(duì)應(yīng)Z緩存元素(適當(dāng)時(shí))時(shí),將在第一經(jīng)過中對(duì) 采樣點(diǎn)所標(biāo)識(shí)的相關(guān)圖元的ID寫到適當(dāng)?shù)膱D元ID存儲(chǔ)器(例如緩沖 器)。
然后,在第二處理經(jīng)過中,將該計(jì)數(shù)器復(fù)位并重啟動(dòng)(使得在第 二經(jīng)過中每個(gè)圖元將從該計(jì)數(shù)器拾^L與它在第 一經(jīng)過中拾取的相同 ID),如前文那樣從計(jì)數(shù)器給圖元分配ID,且接著與先前對(duì)所涉及采 樣點(diǎn)存儲(chǔ)在圖元ID緩沖器中的圖元ID (來(lái)自第一經(jīng)過)相比,每個(gè) 片元可具有其來(lái)自第二經(jīng)過的相應(yīng)圖元ID,并相應(yīng)地在第二經(jīng)過中被 (或不被)著色及讀出(即,取決于其ID是否與對(duì)所涉及采樣點(diǎn)的 所存儲(chǔ)圖元ID相匹配)。
在這種情況下,來(lái)自第一處理經(jīng)過的Z緩存值(如果存在)不需要、并優(yōu)選地不被用于每采樣點(diǎn)處理(或非)測(cè)試,因?yàn)閳D元ID被
用于該目的。但是,如果需要,z值可還用于其它測(cè)試,例如早期分
級(jí)Z測(cè)試。
在經(jīng)受了本發(fā)明的第一處理經(jīng)過的命令列表的該部分中的命令 上執(zhí)行的第二處理經(jīng)過可為任意合適及所需的此類經(jīng)過。優(yōu)選地,它 包括在要響應(yīng)于命令列表的該部分中的命令而繪制的圖元上的"正 常"或"所有"渲染經(jīng)過,即給那些圖元提供要將所述圖元顯示在顯 示器上所需的數(shù)據(jù)的渲染經(jīng)過。因此,例如,優(yōu)選地以有效的所有渲 染狀態(tài)執(zhí)行第二經(jīng)過。
第二處理經(jīng)過將使用從第一經(jīng)過確定的圖元選擇(例如可視性 (或者其它))信息。此外,可以任意所需及合適方式來(lái)使用這種信 息,但是優(yōu)選地,用這種信息來(lái)盡可能地避免為任意給定采樣點(diǎn)對(duì)被 確定為要在第一處理經(jīng)過中對(duì)該采樣點(diǎn)進(jìn)行處理的圖元的圖元以外 的任意圖元進(jìn)行處理(因?yàn)檫@使第二處理經(jīng)過的效率最大)。
如上所述,如果第一處理經(jīng)過確定并存儲(chǔ)要在給定采樣點(diǎn)進(jìn)行處 理的圖元的標(biāo)識(shí)符,則優(yōu)選地,如上所述,第二處理經(jīng)過^f吏用所存儲(chǔ) 標(biāo)識(shí)符來(lái)確定每個(gè)采樣點(diǎn)的適當(dāng)圖元,并接著只在該采樣點(diǎn)(對(duì)該采 樣點(diǎn))處理(優(yōu)選地,渲染)該圖元。
如果在第一處理經(jīng)過中確定并存儲(chǔ)的用于標(biāo)識(shí)要被處理的圖元 的數(shù)據(jù)包括深度緩存(Z值),則,第二處理經(jīng)過能夠、并在優(yōu)選實(shí) 施例中使用所存儲(chǔ)深度緩存來(lái)執(zhí)行適當(dāng)?shù)纳疃葴y(cè)試,以便確定要對(duì)每 個(gè)采樣點(diǎn)進(jìn)行處理的圖元。
因此,在一種優(yōu)選實(shí)施例中,第二處理經(jīng)過^f吏用來(lái)自第一處理經(jīng) 過的所存儲(chǔ)圖元標(biāo)識(shí)符來(lái)確定要對(duì)一個(gè)采樣點(diǎn)且優(yōu)選地為每個(gè)采樣 點(diǎn)進(jìn)行處理的圖元,且在另一優(yōu)選實(shí)施例中,第二處理經(jīng)過使用來(lái)自 第一處理經(jīng)過的所存儲(chǔ)深度緩存值來(lái)要對(duì)一個(gè)采樣點(diǎn)且優(yōu)選地為每 個(gè)采樣點(diǎn)進(jìn)行處理的圖元。
在其中深度測(cè)試在第二處理經(jīng)過中執(zhí)行的特別優(yōu)選實(shí)施例中,使用在第一處理經(jīng)過中導(dǎo)出的深度緩存值來(lái)執(zhí)行的深度測(cè)試(Z測(cè)試) 為早期深度測(cè)試(即,在(片元)渲染之前執(zhí)行的深度測(cè)試)。然后, 對(duì)于每個(gè)采樣點(diǎn),這將允許早期深度測(cè)試在渲染之前揀選除了將對(duì)所 涉及采樣點(diǎn)進(jìn)行處理的那一個(gè)圖元之外的所有圖元(片元)(因?yàn)橹?有那個(gè)圖元(來(lái)自該圖元的片元)(或者具有與那個(gè)圖元相同深度值 的圖元)將經(jīng)過早期深度測(cè)試)。
可按照需要并使用例如任意已知及合適技術(shù)來(lái)執(zhí)行在這些布置 中的深度測(cè)試。
但是,這里應(yīng)該注意,如果在笫二處理經(jīng)過中使用深度測(cè)試,則 如果該深度測(cè)試具有<=(小于或等于)或者>=(大于或等于)的形式
(適當(dāng)時(shí)),那將導(dǎo)致在第二處理經(jīng)過中對(duì)采樣點(diǎn)處理正確圖元,如 果形式< (小于)或者> (大于)的深度比較被用于第二處理經(jīng)過,那 將導(dǎo)致所有圖元在第二處理經(jīng)過中不能進(jìn)行深度測(cè)試(因?yàn)樯疃染彌_ 器將已包含要對(duì)采樣點(diǎn)進(jìn)行處理的圖元的深度值)。
因此,在優(yōu)選實(shí)施例中,本發(fā)明配置或布置成考慮到這種可能性, 即,如果需要?jiǎng)t確保假如所需圖元的深度值將已存在于深度緩沖器中
(來(lái)自第一經(jīng)過)則所需圖元將在第二經(jīng)過中經(jīng)過深度測(cè)試(Z測(cè)試)。 如果需要,可用多種方式考慮這種可能性。第一,如果用于確定 哪個(gè)圖元要在第二處理經(jīng)過中進(jìn)^f亍處理的測(cè)試包括在第二處理經(jīng)過 中要處理的圖元與正在處理的圖元的所存儲(chǔ)標(biāo)識(shí)符的比較,則它將根 本不會(huì)上升。這種情況下,因?yàn)橐诘诙幚斫?jīng)過中進(jìn)行處理的圖元 通過給第二處理經(jīng)過中的圖元(且因此為片元或采樣點(diǎn))所分配的圖 元標(biāo)識(shí)與在第一處理經(jīng)過中對(duì)給定采樣點(diǎn)(片元)所存儲(chǔ)的標(biāo)識(shí)之間 的標(biāo)識(shí)之間的比較來(lái)確定,所以在第二處理經(jīng)過中正確圖元將始終
"經(jīng)過"該測(cè)^式。
例如,將還能夠只對(duì)深度測(cè)試對(duì)其已經(jīng)定義為小于或等于、或者 大于或等于的圖元的運(yùn)行執(zhí)行本發(fā)明,使得能夠保證本發(fā)明將產(chǎn)生正
確結(jié)果。如果圖元#:生成為經(jīng)受小于或大于測(cè)試,則本發(fā)明可對(duì)于那些圖元失效??衫缬脠D形處理驅(qū)動(dòng)器中的軟件改變來(lái)實(shí)現(xiàn)這種布置,因此允許在具有對(duì)其的最小及僅局部變化的現(xiàn)有設(shè)計(jì)中使用本發(fā)明。
在另 一特別優(yōu)選實(shí)施例中,在第二處理經(jīng)過期間執(zhí)行的深度測(cè)試設(shè)置成使用<=(小于或等于)或者>=(大于或等于)的Z比較函數(shù)(適
當(dāng)時(shí))。如果需要,則對(duì)第二處理經(jīng)過將z比較函數(shù)改變成這種情形。因此,在一種優(yōu)選實(shí)施例中,通過圖元的第二經(jīng)過的深度測(cè)試用
被改變成<=(小于或等于)的< (小于)的2比較函數(shù)以及被改變成〉=(大于或等于)的> (大于)的函數(shù)來(lái)執(zhí)行。
在圖形處理器中,這種改變可為自動(dòng)或固定的,或者它可例如在圖形處理器中提供,但是如果需要可留給應(yīng)用開發(fā)人員和/或平臺(tái)開發(fā)人員來(lái)實(shí)現(xiàn)。
在該后一情況下,例如,對(duì)第二處理經(jīng)過改變Z比較函數(shù)的可能性可提供例如為圖形處理器驅(qū)動(dòng)器的配置選項(xiàng),該配置選項(xiàng)則將允許平臺(tái)集成人員決定是否使用這種方法。例如,可提供具有實(shí)現(xiàn)用<=測(cè)試代替任意<測(cè)試并用>=測(cè)試代替任意〉測(cè)試的標(biāo)記的應(yīng)用擴(kuò)展,并如果要實(shí)現(xiàn)該特征則由應(yīng)用對(duì)其進(jìn)行調(diào)用。如果需要,這將允許僅用驅(qū)動(dòng)器中的軟件改變來(lái)實(shí)現(xiàn)本發(fā)明的這種改變。
如果需要,則將還能夠使應(yīng)用開發(fā)人員寫(重寫)其應(yīng)用程序以使用<=和>=函數(shù)代替<和>函數(shù),使得可使用本發(fā)明。
在另一優(yōu)選實(shí)施例中,如果必需,則將在第一經(jīng)過中確定并存儲(chǔ)的Z值適當(dāng)偏移(即,對(duì)于Z比較的〈(小于)系列則遠(yuǎn)離觀察點(diǎn)或者對(duì)于Z比較的〉(大于)系列則朝向觀察點(diǎn)),以便再次確保在第二處理經(jīng)過中適當(dāng)圖元將經(jīng)過Z測(cè)試。Z值的這種偏移將避免對(duì)第二處理經(jīng)過改變Z比較函數(shù)的需要,但仍要再次確保在使用本發(fā)明時(shí)要繪制與沒有本發(fā)明情況下對(duì)采樣點(diǎn)繪制的相同圖元,并將不影響Z測(cè)試中連接(tie)的結(jié)果。
在這些布置中,給在第一處理經(jīng)過中確定的Z值所施加的偏移優(yōu)選為可以任意效果給該Z值施加的最小偏移。因此,在整數(shù)Z緩存的情
況下,適當(dāng)時(shí),將在第一處理經(jīng)過中寫入的Z值優(yōu)選遞增或遞減l以"f更
使其偏移。對(duì)于浮點(diǎn)z緩存,優(yōu)選地,將所確定z值寫入z緩沖器之前,(分別)對(duì)它加上(或減去)可對(duì)所確定z值加或減的最小數(shù),以便使所述z值偏移。(在這些情況下,最小值可例如并優(yōu)選地/人z值的指凄t及其尾數(shù)的恒定大小來(lái)確定。)
如上所述,在本發(fā)明中執(zhí)行的命令列表被存儲(chǔ)在存儲(chǔ)器中(并將因此在本發(fā)明的執(zhí)行期間從其讀出)。
存儲(chǔ)命令列表的存儲(chǔ)器可為任意合適及所需的這種存儲(chǔ)器。如本領(lǐng)域已知的,它 一般為并在優(yōu)選實(shí)施例中是圖形處理系統(tǒng)外部的存儲(chǔ)器,例如主機(jī)系統(tǒng)存儲(chǔ)器。但是,將還能夠把命令列表(命令列表部分)以片上方式存儲(chǔ)在圖形處理器本身上,例如在片上緩沖器中(該
緩沖器可不例如具有DRAM的形式,但可為具有某種其它形式的緩沖器,例如FIFO)。
以本發(fā)明的方式進(jìn)行處理的圖形命令列表可為任意合適及所需的這種列表,例如使場(chǎng)景在立即4莫式渲染系統(tǒng)中進(jìn)行渲染的命令列表,或者在基于區(qū)塊的系統(tǒng)中用于給定區(qū)塊的命令列表。在優(yōu)選實(shí)施例中,在基于區(qū)塊的系統(tǒng)中,針對(duì)用于區(qū)塊且優(yōu)選地單獨(dú)用于每個(gè)區(qū)塊的命令列表來(lái)執(zhí)行本發(fā)明。
所存儲(chǔ)命令列表可包含任意適合及所需圖形命令,即使它將包含至少某些將觸發(fā)若干圖元的繪制使得命令列表的該部分將生成圖元序列以供處理的命令。因此,命令列表將包含具有將圖元流注入到圖形處理器(處理流水線)的作用的指令。
在命令列表中命令圖元的繪制的命令可為任意合適及所需的這種命令。因此,例如它們可各自命令單個(gè)圖元的繪制,或者例如命令圖元序列的繪制。同樣,這些命令可為要繪制的圖元提供更詳細(xì)的數(shù)據(jù)結(jié)構(gòu),和/或可例如更簡(jiǎn)單地表示為要查找的相關(guān)圖元的地址。
在前 一 情況下,命令可例如具有 "draw—single_polygon (polygondata)"的形式,其中繪制該圖元所需的數(shù)據(jù)直接嵌入到命令操作數(shù)中 (該數(shù)據(jù)可例如為前轉(zhuǎn)換或后數(shù)據(jù)(適當(dāng)時(shí)取決于圖形處理系統(tǒng)))。
在后一情況下,"set—attrib—address (attrib [1-16], address)"、 "set—triangle—index—address (format, address)" 以及"draw—triangle
(first—triangle , triangle—count)"形式的命令例如在這種情況下可用于要
繪制的圖元,所述圖元為三角形,所述三角形由 "set—triangle—index—address()"命令所i殳置并由"drawjxiangle()"命
令所例示的角(corner)索引陣列中的三個(gè)要素的組構(gòu)成,這在本領(lǐng)
域是已知的。
因此,該命令列表可包括例如設(shè)置諸如整數(shù)角索引緩存的圖元數(shù) 據(jù)索引緩存、與其它命令交替以使用來(lái)自索引緩存的數(shù)據(jù)來(lái)繪制圖元 的命令。
但是, 一般而言,本發(fā)明可應(yīng)用于命令列表,且構(gòu)造繪制圖元的 命令。
所存儲(chǔ)命令列表中以本發(fā)明的方式進(jìn)行處理的部分可包括任意 合適及所需的這種部分。它可包括所涉及的整個(gè)命令列表,盡管在優(yōu) 選實(shí)施例中,它是給定命令列表的子集(即小于其全部)。
在特別優(yōu)選實(shí)施例中,命令列表中以本發(fā)明的方式進(jìn)行處理的部 分可包括該命令列表中將使要繪制的(連續(xù))不透明圖元的運(yùn)行的部 分。本發(fā)明尤其可適用于處理不透明圖元,因?yàn)椴煌该鲌D元一般適用 于使用例如深度測(cè)試技術(shù)進(jìn)行揀選。
因此,在優(yōu)選實(shí)施例中,本發(fā)明將通過在第一處理經(jīng)過中逐個(gè)發(fā) 送經(jīng)由圖形處理的圖元而處理不透明圖元序列,接著對(duì)第二處理經(jīng)過 又逐個(gè)發(fā)送經(jīng)由圖形處理的圖元。
導(dǎo)出與要對(duì)其處理的圖元有關(guān)的數(shù)據(jù)的采樣點(diǎn)可類似地為任意 所需及適合的此類采樣點(diǎn)(及采樣點(diǎn)的集合)。在優(yōu)選實(shí)施例中,它 們包括釆樣點(diǎn),且優(yōu)選地包括要在對(duì)這些圖元進(jìn)行處理以供顯示的時(shí) 候柵格化這些圖元時(shí)所使用的采樣點(diǎn)。圖形處理系統(tǒng)以本發(fā)明的方式的操作可以任意所需及適合方式 進(jìn)行觸發(fā),例如使用任意適當(dāng)機(jī)制來(lái)觸發(fā)此類操作。
在一種特別優(yōu)選實(shí)施例中,以本發(fā)明的方式的才喿作通過將適當(dāng)命 令包含在命令列表中以便觸發(fā)該操作來(lái)進(jìn)行觸發(fā)。
最優(yōu)選地,要觸發(fā)本發(fā)明的處理經(jīng)過的命令插入在命令列表中要 以本發(fā)明的方式進(jìn)行處理的部分的起始(例如在運(yùn)行不透明圖元的繪 制的起始)。因此,該命令例如及優(yōu)選將圖形處理器設(shè)置到執(zhí)行第一 處理經(jīng)過的模式,例如及優(yōu)選為僅Z渲染模式。
類似地,將命令優(yōu)選插入在命令列表的該部分的結(jié)尾(例如及優(yōu) 選地,在用于繪制不透明圖元的運(yùn)行的命令集合的結(jié)尾),以便使圖 形處理返回并重新執(zhí)行所述命令列表的該部分,但是這次是以不同模 式(例如及優(yōu)選地,以正常(或所有)有效渲染狀態(tài))。
該后一 ("結(jié)尾")命令優(yōu)選地為條件分支命令,如果圖形處理 器當(dāng)前處于第一經(jīng)過(例如僅Z)模式則所述條件分支命令要觸發(fā)返 回到命令列表的該部分的開始的分支以及處理模式的改變(即剛完成 本發(fā)明的第一處理經(jīng)過),否則則不(即,分支條件是當(dāng)前處理模式 是否為第一經(jīng)過模式)。
使用該方式的條件分支命令在本發(fā)明的第一處理經(jīng)過之后有助 于直接觸發(fā)在命令列表的該部分上的第二處理經(jīng)過,同時(shí)允許處理在 第二處理經(jīng)過之后正常地繼續(xù)。
如果需要,將能夠把"部分的起始"及"部分的結(jié)尾"命令合并 成單個(gè)命令。例如,如果指令用操作碼域的某數(shù)量的比特來(lái)標(biāo)識(shí),則
—個(gè)操作碼可通過使用在指令字中其它位置的某些空閑比特來(lái)區(qū)別。
備選地,分支地址的方向、前向/后向或零地址可用來(lái)區(qū)別要執(zhí)行的命令。
在優(yōu)選實(shí)施例中,由標(biāo)識(shí)命令列表中要以本發(fā)明的方式進(jìn)行處理 的部分以及將適當(dāng)命令插入在命令列表的適當(dāng)部分的前面及結(jié)尾的 圖形處理器驅(qū)動(dòng)器將此類命令適當(dāng)?shù)匕诿盍斜碇?。將還能夠用其它方式對(duì)以本發(fā)明的方式的操作進(jìn)行觸發(fā)與控制。例如,圖形處理器本身可例如在第一 (例如^叉Z)處理經(jīng)過中標(biāo)識(shí)命令列表中要用這種方式進(jìn)行處理的部分(例如,通過考慮給每個(gè)圖元所分配的渲染狀態(tài)以了解它是否不透明),并例如將地址存儲(chǔ)在該部分的開始命令的列表中,以1更一旦完成了第一處理經(jīng)過該處理就能跳回到該地址(命令)。裝置或外圍寄存器可例如實(shí)現(xiàn)第一 (例如僅Z)處理經(jīng)過,作為"新區(qū)塊"命令列表命令的副作用。
作為替代或補(bǔ)充,命令列表中的命令可例如通過將所保留每命令比特用于該目的來(lái)標(biāo)記為要經(jīng)受以本發(fā)明的方式的處理。命令列表中
方式進(jìn)行處理的命令(命令列表的部分)的運(yùn)行。
相信,上述形式的分支命令的使用可為新的并具有自身優(yōu)勢(shì),且不只是處于本發(fā)明的上下文中。
因此,依照本發(fā)明的第三方面,提供了控制圖形處理系統(tǒng)的操作
的方法,包括
將分支命令包含在給圖形處理系統(tǒng)所提供的命令列表中,也觸發(fā)
至命令列表中其它點(diǎn)的分支的所述分支命令將在進(jìn)行分支時(shí)還觸發(fā)
圖形處理系統(tǒng)的狀態(tài)改變。
依照本發(fā)明的第四方面,提供了圖形處理系統(tǒng),包括
用于響應(yīng)于圖形處理系統(tǒng)接收到的以供執(zhí)行的命令列表中的圖
形命令而分支到命令列表中的其它點(diǎn)并改變圖形處理系統(tǒng)的狀態(tài)的部件。
依照本發(fā)明的第五方面,提供了控制圖形處理系統(tǒng)的操作的方法,包括
將條件分支命令包含在給圖形處理系統(tǒng)所提供的命令列表中,對(duì)于所述分支命令,進(jìn)行分支的條件為圖形處理系統(tǒng)的當(dāng)前狀態(tài)。依照本發(fā)明的第六方面,提供了圖形處理系統(tǒng),包括用于響應(yīng)于圖形處理系統(tǒng)接收到的以供執(zhí)行的命令列表中圖形命令的條件分支命令而根據(jù)圖形處理系統(tǒng)的狀態(tài)分支或不分支到命 令列表中其它點(diǎn)的部件。
如本領(lǐng)域技術(shù)人員可領(lǐng)會(huì),適當(dāng)時(shí),本發(fā)明的這些方面及實(shí)施例
或全部。
因此,例如,圖形處理系統(tǒng)的狀態(tài)優(yōu)選為其渲染狀態(tài),由分支命 令觸發(fā)的狀態(tài)改變優(yōu)選地為對(duì)"所有"渲染狀態(tài)的改變,和/或進(jìn)行分 支的條件所基于狀態(tài)優(yōu)選為圖形處理系統(tǒng)是否處于僅Z狀態(tài)。類似地,
布置優(yōu)選如下分支命令的條件基于圖形處理系統(tǒng)的當(dāng)前狀態(tài),且如 果進(jìn)行分支則分支命令觸發(fā)該狀態(tài)的改變。
根據(jù)上文,將領(lǐng)會(huì)在特別優(yōu)選實(shí)施例中,本發(fā)明包括執(zhí)行第一 "僅Z,,處理經(jīng)過以便填充深度緩沖器,然后執(zhí)行第二處理經(jīng)過以便 渲染用于顯示的圖元,但是使用早期Z測(cè)試及"所填充"深度緩沖器 來(lái)從第二處理經(jīng)過揀選圖元。
因此,依照本發(fā)明的第七方面,提供了操作圖形處理器的方法, 其中要由圖形處理器執(zhí)行的、包含指示圖形處理器繪制圖元的命令的 圖形命令列表在被圖形處理器執(zhí)行所述命令之前被存儲(chǔ)在存儲(chǔ)器中, 所述方法包括
在要響應(yīng)于所存儲(chǔ)命令列表的一部分中的命令而繪制的圖元上 執(zhí)行僅Z處理經(jīng)過,以便用那些圖元的適當(dāng)深度值填充深度緩沖器; 以及
在要響應(yīng)于所存儲(chǔ)命令列表的該部分中的命令而繪制的圖元上 執(zhí)行第二處理經(jīng)過,以便渲染那些用于的顯示圖元,使用所填充深度
緩沖器及早期Z測(cè)試來(lái)從該處理經(jīng)過的處理中揀選圖元。
依照本發(fā)明的第八方面,提供了圖形處理系統(tǒng),其中要由圖形處 理系統(tǒng)執(zhí)行的、包含指示圖形處理系統(tǒng)繪制圖元的命令的圖形命令列 表在被圖形處理系統(tǒng)執(zhí)行所述命令之前被準(zhǔn)備并存儲(chǔ)在存儲(chǔ)器中,所 述圖形處理系統(tǒng)包括用于在要響應(yīng)于所存儲(chǔ)命令列表的一部分中的命令而繪制的圖 元上執(zhí)行僅Z處理經(jīng)過以便用那些圖元的適當(dāng)深度值填充深度緩沖器
的部件;
用于要在響應(yīng)于所存儲(chǔ)命令列表的該部分中的命令而繪制的圖 元上執(zhí)行第二處理經(jīng)過、使用所填充深度緩沖器及早期Z測(cè)試來(lái)從該 處理經(jīng)過的處理中揀選圖元的部件。
如本領(lǐng)域技術(shù)人員將理解的,本發(fā)明的這些方面能夠并優(yōu)選地包 括本文所述發(fā)明的任一或多個(gè)或全部?jī)?yōu)選及選4奪特征。因此,例如, 所存儲(chǔ)命令列表中要進(jìn)行處理的部分優(yōu)選地為引起要繪制的不透明 圖元的運(yùn)行的部分。類似地,在第二處理經(jīng)過中執(zhí)行的深度測(cè)試優(yōu)選 具有<=或者>=的形式,或者在第 一處理經(jīng)過中確定的深度緩存值優(yōu)選 地在用于第二經(jīng)過中之前進(jìn)行偏移,如上所述。
如本領(lǐng)域技術(shù)人員將理解的,可對(duì)本發(fā)明上述各種特征進(jìn)行各種 改變、變化和/或添加。
例如,第一處理經(jīng)過可并在優(yōu)選實(shí)施例中使用隱藏表面去除4支 術(shù),例如早期Z測(cè)試、分級(jí)Z測(cè)試、阻塞揀選技術(shù)等,以便設(shè)法盡可能 早地/人處理中消除圖元和/或片元。
類似地,第二處理經(jīng)過可并在優(yōu)選實(shí)施例中使用隱藏表面去除技 術(shù),例如分級(jí)Z測(cè)試、阻塞揀選技術(shù)等,以便設(shè)法盡可能早地乂人處理 中消除圖元和/或片元。
要領(lǐng)會(huì),在本發(fā)明中,要以本發(fā)明的方式進(jìn)行處理的命令列表中 的部分被圖形處理器從存儲(chǔ)器中讀出兩次, 一次用于第 一處理經(jīng)過, 然后再次用于第二處理經(jīng)過。(換句話說(shuō),第一處理經(jīng)過包括從存儲(chǔ) 器中讀出命令列表的該部分,且第二處理經(jīng)過包括再次從存儲(chǔ)器中讀 出命令列表的該部分。類似地,本發(fā)明將包括讀命令列表的該部分并 在命令列表的該部分上執(zhí)行第一處理經(jīng)過,然后再次讀命令列表的該 部分并在命令列表的該部分上執(zhí)行第二處理經(jīng)過。)
將能夠使命令列表的該部分每次從其初始位置(例如,外部存儲(chǔ)器)讀出,但在優(yōu)選實(shí)施例中,從命令列表中為第一處理經(jīng)過所讀出凄t據(jù)的一些或全部在它對(duì)第一處理經(jīng)過讀出之后或之時(shí)能夠并優(yōu)選地存儲(chǔ)在圖形處理器本身上(例如,被緩存在圖形處理器本身上),使得它接著在圖形處理器上的"本地"存儲(chǔ)器中(在片上存儲(chǔ)器中)對(duì)第二處理經(jīng)過可用。那么,這將避免必須從初始例如外部存儲(chǔ)器讀出該凄t據(jù)用于第二處理經(jīng)過。
因此,在一種優(yōu)選實(shí)施例中,從同一存儲(chǔ)器讀出所存儲(chǔ)命令以用于第一及第二處理經(jīng)過,但是在另一優(yōu)選實(shí)施例中,命令列表的該部分中的一些或所有命令從不同存儲(chǔ)器中讀出用于第二處理經(jīng)過。(但是,應(yīng)該注意,在這些情況的每個(gè)中(及實(shí)際上, 一般在本發(fā)明中),被讀出用于第二處理經(jīng)過的(所存儲(chǔ))命令就是或者來(lái)自于供第一處
理經(jīng)過使用的所存儲(chǔ)命令不對(duì)第二處理經(jīng)過新生成這些命令(在本發(fā)明中命令序列只生成一次它不對(duì)第二處理經(jīng)過再次生成)。)
如果,例如可用片上存儲(chǔ)器受到限制,那么命令列表中要用本發(fā)明的方式進(jìn)行處理的那些部分可例如始終被限制到將適應(yīng)片上存儲(chǔ)器的大小(其中,例如,那些大于該大小的部分,例如命令不透明圖元的運(yùn)行的部分被分成若干要適合"片上"的較小部分),或者命令列表的一部分可存儲(chǔ)在"片上,,存儲(chǔ)器中(并從其中取出用于第二經(jīng)過),其中該數(shù)據(jù)的其余部分則被從其它(外部)存儲(chǔ)器取出用于第二經(jīng)過。將還能夠,例如使用這兩種布置,其中例如如果命令列表的部分超過片上存儲(chǔ)器容量多于閾值量則將它們分成較小部分。
為此,所提供的"片上"存儲(chǔ)器的大小可按照需要、例如基于性能對(duì)"片上"存儲(chǔ)器成本的折中來(lái)進(jìn)行選擇。
盡管如上所述,本發(fā)明在以上方面中要求從存儲(chǔ)器對(duì)命令列表的該部分讀出兩次,但是申請(qǐng)人意識(shí)到還能夠在不需要對(duì)命令列表的該部分讀出兩次的情況下利用本發(fā)明的目標(biāo)及優(yōu)點(diǎn)。在這種情況下,系統(tǒng)可改為生成并存儲(chǔ)(緩存)來(lái)自第一處理經(jīng)過的足夠信息,以便允許系統(tǒng)在不需要再次讀出命令列表的情況下執(zhí)行第二處理經(jīng)過。這可能因此付出必須存儲(chǔ)來(lái)自第一處理經(jīng)過的更多"片上,,數(shù)據(jù)并在那個(gè) 經(jīng)過期間執(zhí)行更多處理的代價(jià),但是這將避免必須再次讀出命令列表 的該部分。
因此,依照本發(fā)明的第九方面,提供了在圖形處理系統(tǒng)中處理圖
元的方法,該方法包4舌
在圖元序列上執(zhí)行第 一處理經(jīng)過,以便對(duì)采樣點(diǎn)集合的每個(gè)采樣 點(diǎn)確定圖元序列中要對(duì)該采樣點(diǎn)進(jìn)行處理的圖元中的一個(gè)或多個(gè)圖
元;
存儲(chǔ)數(shù)據(jù)以便允許在每個(gè)相應(yīng)采樣點(diǎn)處理所確定的一個(gè)或多個(gè)
圖元;以及
使用所存儲(chǔ)數(shù)據(jù)執(zhí)行第二處理經(jīng)過以便對(duì)每個(gè)采樣點(diǎn)處理圖元
序列中的相應(yīng)一個(gè)或多個(gè)圖元。
依照本發(fā)明的第十方面,提供了一種圖形處理系統(tǒng),包括 用于在圖元序列上執(zhí)行第 一處理經(jīng)過以便對(duì)采樣點(diǎn)集合的每個(gè)
采樣點(diǎn)確定圖元序列中要對(duì)該采樣點(diǎn)進(jìn)行處理的圖元中的一個(gè)或多
個(gè)圖元的部件;
用于存儲(chǔ)數(shù)據(jù)以便允許在每個(gè)相應(yīng)采樣點(diǎn)處理所確定的一個(gè)或 多個(gè)圖元的部件;以及
用于使用所存儲(chǔ)數(shù)據(jù)執(zhí)行第二處理經(jīng)過以便對(duì)每個(gè)采樣點(diǎn)處理 圖元序列中的相應(yīng)一個(gè)或多個(gè)圖元的部件。
如本領(lǐng)域技術(shù)人員要領(lǐng)會(huì)的,適當(dāng)時(shí),本發(fā)明的這些方面及實(shí)施 例能夠并優(yōu)選地包括本文所述發(fā)明的優(yōu)選及選擇特征中任一或多個(gè) 或全部。因此,例如,第二處理經(jīng)過將優(yōu)選(使用所存儲(chǔ)數(shù)據(jù))對(duì)用 于顯示的圖元進(jìn)行渲染。
在本發(fā)明的這些方面及實(shí)施例中,圖元序列優(yōu)選地經(jīng)過命令列表 的所存儲(chǔ)部分的讀出來(lái)提供,如上所述。但是,圖元可還或者改為例 如被CPU—次一個(gè)地饋送給圖形處理器,或者經(jīng)由直接存儲(chǔ)器訪問 (dma)流入,等等。優(yōu)選地,第一處理經(jīng)過使用圖形深度測(cè)試技術(shù)確定圖元序列中哪 個(gè)或哪些圖元要對(duì)每個(gè)采樣點(diǎn)進(jìn)行處理,如上所述。優(yōu)選地,它確定 在每個(gè)采樣點(diǎn)的單個(gè)圖元(并存儲(chǔ)其數(shù)據(jù))。
在本發(fā)明的這些方面的一種優(yōu)選布置中,第 一處理經(jīng)過包括運(yùn)行 任意必需的插入操作,但不對(duì)任意材質(zhì)進(jìn)行采樣,以便生成每個(gè)采樣 點(diǎn)的信息,所述信息在第 一處理經(jīng)過之后被存儲(chǔ)以便允許采樣點(diǎn)例如 在第二經(jīng)過中被渲染(并不針對(duì)每個(gè)采樣點(diǎn)重新處理整個(gè)圖元序列)。 然后,該數(shù)據(jù)可在第二經(jīng)過中用來(lái)對(duì)用于顯示的采樣點(diǎn)進(jìn)行渲染。
該布置具有不需要將命令列表再次讀入的優(yōu)點(diǎn)(如上所述),但 將要求在第一經(jīng)過之后將對(duì)更多數(shù)據(jù)進(jìn)行"片上"存儲(chǔ)。它還要求 在第一經(jīng)過中執(zhí)行圖元設(shè)置及插入(但還能在第二經(jīng)過中避免材質(zhì)的 讀取及運(yùn)行所阻塞片元(圖元)的片元程序的代價(jià))。
在本發(fā)明的這些方面的另 一優(yōu)選實(shí)施例中,在第一處理經(jīng)過之后 存儲(chǔ)以允許執(zhí)行第二處理經(jīng)過的數(shù)據(jù)包括一組每圖元的狀態(tài)數(shù)據(jù),包 括例如角索引、渲染狀態(tài)數(shù)據(jù)(例如索引)等,在第一經(jīng)過中發(fā)現(xiàn)其 為將寫到所涉及采樣點(diǎn)的圖元狀態(tài)。然后,第二處理經(jīng)過可處理所存 儲(chǔ)圖元狀態(tài)數(shù)據(jù)以便渲染采樣點(diǎn)。
此外,該布置將要求將圖元狀態(tài)凄《據(jù)適當(dāng)存儲(chǔ)例如并優(yōu)選地在片 上圖元狀態(tài)數(shù)據(jù)區(qū)塊緩沖器中,但是將避免例如使第二處理經(jīng)過重新 讀取命令列表、例如解釋命令列表、柵格化圖元并執(zhí)行Z緩存讀、寫 及比較的需要。在這種布置中,可還必需例如對(duì)后續(xù)圖元具有副作用 的圖元狀態(tài)進(jìn)行標(biāo)識(shí),且在此類命令的情況下將刷新"圖元狀態(tài)數(shù)據(jù) 緩沖器"。
在此類優(yōu)選布置中,對(duì)每個(gè)采樣點(diǎn)存儲(chǔ)的圖元數(shù)據(jù)包括圖元命 令,發(fā)現(xiàn)該命令為將寫到(被繪制于)所涉及采樣點(diǎn)的命令。如果圖 元命令本身包含渲染所涉及圖元以供顯示所需的所有(狀態(tài))數(shù)據(jù),
那么這可特別i"更利。
用本發(fā)明的方式進(jìn)行處理的圖元可為任意合適及所需此類圖元。它們優(yōu)選具有簡(jiǎn)單多邊形的形式,這在本領(lǐng)域是已知的。在優(yōu)選實(shí)施 例中,圖元為三角形。
在特別優(yōu)選實(shí)施例中,在單個(gè)圖形處理平臺(tái)上執(zhí)行本發(fā)明的各種 功能,所述圖形處理平臺(tái)生成并輸出寫到用于顯示裝置的幀緩沖器的 數(shù)據(jù)。
本發(fā)明的各種功能、要素等可按照需要實(shí)現(xiàn),且例如并優(yōu)選地包 括能夠操作成執(zhí)行本發(fā)明的各種步驟及功能等的適當(dāng)功能單元、處理 器、處理邏輯、電路、微處理器布置等,和/或能夠操作成由執(zhí)行本發(fā) 明的各種步驟及功能等的適當(dāng)功能單元、處理器、處理邏輯、電路、 微處理器布置等執(zhí)行。
本發(fā)明可應(yīng)用于任意形式或配置的圖形處理器,例如具有"流水 線,,布置的圖形處理器。在優(yōu)選實(shí)施例中,它可被應(yīng)用到硬件圖形流 水線、優(yōu)選應(yīng)用到渲染流水線。
本發(fā)明可應(yīng)用于所有形式的圖形處理及渲染,例如2D圖形處理、 3D圖形處理、立即模式渲染、延遲模式渲染、基于區(qū)塊的渲染等,雖 然它特別可應(yīng)用于使用延遲模式渲染的圖形渲染器,尤其可用于基于 區(qū)塊的渲染器。
如從上文將領(lǐng)會(huì)到的,本發(fā)明尤其可應(yīng)用于3D圖形處理器及處理 裝置,且因此擴(kuò)展到包括本文所述方面的任意一個(gè)或多個(gè)方面的設(shè) 備、或者依照本文所述方面的任意一個(gè)或多個(gè)方面、或者依照本文所 述方面的任意一個(gè)或多個(gè)方面操作的用于處理3D圖形的圖形處理器、 圖形處理平臺(tái)和/或圖形處理方法。服從于執(zhí)行上述特定功能所需的任 意硬件,此類3D圖形處理器能夠另外包括3D圖形處理器包含的有用功 能單元等中任意一個(gè)或多個(gè)或全部。
類似地,在優(yōu)選實(shí)施例中,本發(fā)明擴(kuò)展到包括本文所述方面的任 意一個(gè)或多個(gè)方面的設(shè)備、或者依照本文所述方面的任意一個(gè)或多個(gè) 方面、或者依照本文所述方面的4壬意一個(gè)或多個(gè)方面操:作的用于處理 2D圖形的圖形處理器、圖形處理平臺(tái)、和/或圖形處理方法。服從于執(zhí)行上述特定功能所需的任意硬件,此類2D圖形處理器能夠另外包括
2D圖形處理器包含的有用功能單元等中任意一個(gè)或多個(gè)或全部。
還要領(lǐng)會(huì),本發(fā)明可用于為任意合適及所需輸出及輸出裝置、例 如合適的顯示裝置處理圖形。因此它可用于例如圖形處理以供在顯示 屏幕上的顯示,用于圖形處理以供打印(例如在打印機(jī)渲染引擎中) 等。
如從上文要領(lǐng)會(huì)的,本發(fā)明將包括生成繪制圖元的圖形命令序 列,然后在該生成的圖形命令序列上執(zhí)行本發(fā)明的兩個(gè)處理經(jīng)過。
依照本發(fā)明的另 一 方面,提供了在圖形處理系統(tǒng)中操作圖形處理 器的方法,其中生成指示圖形處理器繪制圖元的圖形命令列表以供執(zhí) 行,該方法包括
圖形處理器
在所生成圖形命令序列上執(zhí)行第一處理經(jīng)過,以便導(dǎo)出能夠幫助 從要響應(yīng)于所生成圖形命令序列而繪制的圖元中選擇一個(gè)或多個(gè)圖 元用于針對(duì)采樣點(diǎn)集合中每個(gè)采樣點(diǎn)進(jìn)行處理的數(shù)據(jù);
存儲(chǔ)該導(dǎo)出的數(shù)據(jù),用于幫助要在每個(gè)采樣點(diǎn)進(jìn)行處理的圖元的 選擇;以及
在所生成圖形命令序列上執(zhí)行第二處理經(jīng)過,以便對(duì)要響應(yīng)于所 生成圖形命令序列中的命令而繪制的圖元進(jìn)行處理,使用所存儲(chǔ)數(shù)據(jù) 來(lái)幫助從要響應(yīng)于所生成圖形命令序列而繪制的圖元中選擇要在第 二處理經(jīng)過中對(duì)每個(gè)采樣點(diǎn)進(jìn)行處理的一個(gè)或多個(gè)圖元。
依照本發(fā)明的再一方面,提供了在圖形處理系統(tǒng)中使用的圖形處 理器,其中生成用于指示圖形處理器繪制圖元的圖形命令列表供圖形 處理器執(zhí)行,所述圖形處理器包括
用于在所生成圖形命令序列上執(zhí)行第一處理經(jīng)過以便導(dǎo)出能夠 幫助從要響應(yīng)于所生成圖形命令序列而繪制的圖元中選擇一個(gè)或多 個(gè)圖元用于針對(duì)采樣點(diǎn)集合中每個(gè)采樣點(diǎn)進(jìn)行處理的數(shù)據(jù)的部件;
用于存儲(chǔ)該導(dǎo)出的數(shù)據(jù)以便幫助選擇要在每個(gè)采樣點(diǎn)進(jìn)行處理
34的圖元的部件;
用于完成以下功能的部件在所生成圖形命令序列上執(zhí)行第二處理經(jīng)過以便對(duì)要響應(yīng)于所生成圖形命令序列中的命令而繪制的圖元進(jìn)行處理,使用所存儲(chǔ)數(shù)據(jù)來(lái)幫助從要響應(yīng)于所生成圖形命令序列而繪制的圖元中選擇要在第二處理經(jīng)過中對(duì)每個(gè)采樣點(diǎn)進(jìn)行處理的一個(gè)或多個(gè)圖元。
本領(lǐng)域技術(shù)人員要領(lǐng)會(huì),適當(dāng)時(shí)本發(fā)明的這些方面及實(shí)施例能夠并優(yōu)選地包括本文所述優(yōu)選及任選特征中任意一個(gè)或多個(gè)或全部。因此,例如,所生成圖形命令列表優(yōu)選地觸發(fā)不透明圖元的運(yùn)行的繪制。
實(shí)際上,本領(lǐng)域技術(shù)人員要領(lǐng)會(huì),本發(fā)明的全部所述方面及實(shí)施例適當(dāng)時(shí)能夠并優(yōu)選地包括本文所述優(yōu)選及任選特征中任意一個(gè)或多個(gè)或全部。
依照本發(fā)明的方法可至少部分使用軟件、例如計(jì)算機(jī)程序來(lái)實(shí)現(xiàn)。因此將可見,在從其它方面審視時(shí),本發(fā)明提供了計(jì)算機(jī)軟件,它在安裝在數(shù)據(jù)處理部件上時(shí)具體適合執(zhí)行本文所述的方法,計(jì)算機(jī)
所述方法的計(jì)算機(jī)軟件代碼部分,且計(jì)算才幾程序包括適合在該程序在
數(shù)據(jù)處理部件可為微處理器系統(tǒng)、可編程FPGA (現(xiàn)場(chǎng)可編程門陣列)等。
本發(fā)明還擴(kuò)展到計(jì)算機(jī)軟件載體,所述載體包括這樣的軟件在用于操作包括數(shù)據(jù)處理部件的圖形處理器、渲染器或者微處理器系統(tǒng)時(shí)結(jié)合所述數(shù)據(jù)處理部件導(dǎo)致所述處理器、渲染器或者系統(tǒng)執(zhí)行本發(fā)明的方法的步驟。這種計(jì)算機(jī)軟件載體可為例如ROM芯片、CD ROM或盤的物理存儲(chǔ)媒介,或者可為信號(hào),例如線上的電信號(hào)、光信號(hào)或例如至衛(wèi)星的無(wú)線信號(hào)等。
還要領(lǐng)會(huì),不是本發(fā)明的方法的所有步驟都需要由計(jì)算機(jī)軟件來(lái)執(zhí)行,因此根據(jù)更廣泛方面,本發(fā)明提供了計(jì)算機(jī)軟件以及安裝在計(jì)算機(jī)軟件載體上用于執(zhí)行本文所給方法的至少一個(gè)步驟的這種軟件。
因此,本發(fā)明可適當(dāng)?shù)伢w現(xiàn)為與計(jì)算機(jī)系統(tǒng)配合使用的計(jì)算機(jī)程 序產(chǎn)品。這種實(shí)現(xiàn)可包括一系列計(jì)算機(jī)可讀指令,所述指令固定到例
如諸如盤、CD-ROM、 ROM或者硬盤的計(jì)算機(jī)可讀媒介的有形媒介, 或者經(jīng)由調(diào)制解調(diào)器或其它接口裝置通過包括但不限于光或模擬通 信線的有形媒介或者以無(wú)形方式使用包括但不限于微波、紅外或其它 傳輸技術(shù)的無(wú)線技術(shù)可傳送到計(jì)算機(jī)系統(tǒng)。所述系列的計(jì)算機(jī)可讀指 令包含本文先前所述的功能性的全部或部分。
本領(lǐng)域技術(shù)人員要領(lǐng)會(huì),能夠用若干與很多計(jì)算機(jī)體系結(jié)構(gòu)或操 作系統(tǒng)配合使用的編程語(yǔ)言來(lái)寫這種計(jì)算機(jī)可讀指令。此外,這種指 令可使用當(dāng)前或以后的、包括但不限于半導(dǎo)體、-茲的或光的任意存儲(chǔ) 器技術(shù)來(lái)存儲(chǔ),或者使用當(dāng)前或以后的、包括但不限于光、紅外、或 者微波的任意通信技術(shù)來(lái)傳輸。預(yù)期這種計(jì)算機(jī)程序產(chǎn)品可如可去除 媒介一樣隨附帶的打印或電子文檔進(jìn)行分發(fā),例如用收縮性薄膜包裝 的軟件,隨計(jì)算機(jī)系統(tǒng)預(yù)先載入在例如系統(tǒng)ROM或者固定盤上,或者 從服務(wù)器或單子公告板通過網(wǎng)絡(luò)、例如因特網(wǎng)或者萬(wàn)維網(wǎng)進(jìn)行分發(fā)。


本發(fā)明的若干優(yōu)選實(shí)施例將僅以示例方式參考附圖進(jìn)行描述,其

圖l示意示出了其中可實(shí)現(xiàn)本發(fā)明的圖形處理系統(tǒng)的第 一實(shí)施
例;
圖2示意示出了可以本發(fā)明的方式進(jìn)行處理的命令列表的第 一 實(shí) 施例;
圖3示意示出了用于觸發(fā)以本發(fā)明的方式的操作的命令列表的第 二實(shí)施例;
圖4示意示出了其中可實(shí)現(xiàn)本發(fā)明的圖形處理系統(tǒng)的第二實(shí)施
例;圖5示意示出了依照本發(fā)明的實(shí)施例的Z值的偏移;
除非另外指明,否則在附圖中相同參考標(biāo)號(hào)用于類似組件及要素。
具體實(shí)施例方式
圖1示出了本發(fā)明與可以本發(fā)明方式操作的示例圖形處理系統(tǒng)的 第一實(shí)施例的實(shí)現(xiàn)有關(guān)的流水線階段。圖l示出在圖形數(shù)據(jù)(頂點(diǎn)數(shù) 據(jù))經(jīng)過轉(zhuǎn)換及光照操作之后的流水線階段("向后轉(zhuǎn)換"流水線階 段)。
圖1中示出的圖形處理系統(tǒng)為基于區(qū)塊的系統(tǒng),但是本發(fā)明同樣 可應(yīng)用于其它系統(tǒng),例如如上所述的立即才莫式渲染系統(tǒng)。
如圖1所示,這個(gè)實(shí)施例的圖形處理系統(tǒng)接收輸入命令列表2。這 些列表由命令列表閱讀器3從外部存儲(chǔ)器讀入,作為至圖形處理系統(tǒng) 的輸入。
圖形處理系統(tǒng)1還包括頂點(diǎn)載入器4,它可讀入與要處理的圖元的 頂點(diǎn)有關(guān)的數(shù)據(jù),例如位置及變化量數(shù)據(jù)。此外,可從外部存儲(chǔ)器沖企 索這個(gè)數(shù)據(jù)。
如圖1所示,讀入的命令及頂點(diǎn)數(shù)據(jù)被提供給圖元設(shè)置階段5,它 響應(yīng)于它接收到的命令及頂點(diǎn)數(shù)據(jù)設(shè)置要渲染的圖元,這在本領(lǐng)域是 已知的。
命令列表閱讀器還給渲染狀態(tài)單元6提供輸入,所述渲染狀態(tài)單 元6將流水線控制并配置到由命令列表閱讀器讀入的命令所指明的適 當(dāng)渲染狀態(tài)。因此,如圖l所示,這種渲染狀態(tài)單元將圖形處理器l的 階段配置為適當(dāng)狀態(tài)以便在從圖元設(shè)置階段5經(jīng)過流水線傳遞的圖元 上執(zhí)行適當(dāng)操作。
在圖1所示的圖形處理體系結(jié)構(gòu)中,圖元保留Z測(cè)試階,殳7在圖元 設(shè)置階段5之前。如本領(lǐng)域已知的,這種圖元保留Z測(cè)試階段7使用來(lái) 自分級(jí)Z緩沖器、Z錐體(Z-pyramid) 8的深度值數(shù)據(jù)來(lái)嘗試有保留地拒絕可確定為要被已經(jīng)處理的圖元阻塞的圖元(即,其深度值存在于Z錐體8中)。
接著,下一階段是使處理流水線的"設(shè)置"在圖元設(shè)置階段5中
經(jīng)過圖元保留z測(cè)試的圖元。
然后,那些圖元被柵格化到適當(dāng)樣本位置及代表所生成的那些樣
本位置的片元以供渲染。這在柵沖^f匕階段9中執(zhí)行。
柵格化的片元接著凈皮提交到片元早期Z測(cè)試階段IO,所述片元早期Z測(cè)試階段10使用Z緩沖器16中的值來(lái)設(shè)法揀選能夠已確定為被先前已處理的片元阻塞的片元,這在本領(lǐng)域是已知的。
然后,將經(jīng)過片元早期Z測(cè)試階I殳10的片元發(fā)送到對(duì)片元進(jìn)行著色的片元著色階段ll。如本領(lǐng)域已知的,這種著色可包括任意合適及所需片元著色處理,例如對(duì)片元執(zhí)行片元著色器程序,對(duì)片元應(yīng)用材質(zhì)(使用例如材質(zhì)高速緩存12),對(duì)片元應(yīng)用混合、霧化或其它操作等,這在本領(lǐng)域是已知的。片元著色階段ll還可使用其它輸入,例如圖l所示的片元著色器程序及均衡(uniform) 13。
接著是片元測(cè)試階段14,其中它對(duì)該片元執(zhí)行流水線深度測(cè)試的結(jié)束,以便使用本領(lǐng)域公知的該片元的位置的Z緩存值16并還使用例如任意必需a和/或;漠版測(cè)試來(lái)確定所渲染片元是否在最后圖像中真正可見。
然后,將經(jīng)過片元測(cè)試階段14的片元被傳遞到片元揭:作階段l5,所述片元操作階段15在片元上執(zhí)行任意必需的剩余操作,例如與幀緩存混合、抖動(dòng)等
最后,輸出片元、顏色等值被寫入到適當(dāng)顏色緩沖器17,它們可例如從所述顏色緩沖器17輸出到幀緩沖器以供顯示。片元的深度值還被適當(dāng)?shù)貙懙絑緩沖器16,這在本領(lǐng)域是已知的。
如本領(lǐng)域已知的,對(duì)于緩沖器提供的每個(gè)采樣點(diǎn)(實(shí)質(zhì)上對(duì)于要處理的區(qū)塊的每個(gè)采樣點(diǎn)),顏色緩沖器17與Z緩沖器16將分別存儲(chǔ)適當(dāng)顏色等或者Z值。圖1示出了具有四個(gè)顏色緩沖器17及Z緩沖器16的布置。但是,本 領(lǐng)域技術(shù)人員要領(lǐng)會(huì),按照需要可在渲染流水線結(jié)束使用輸出緩沖器 的不同組合及布置。
要理解,圖l所示(下文在圖4中描述)的圖形處理器的階段、要 素及單元等的每一個(gè)可按照需要執(zhí)行,并因此將包括例如適當(dāng)電路和 /或處理邏輯等以執(zhí)行必需的操作與功能。
現(xiàn)在將依照本發(fā)明的實(shí)施例描述圖l所示圖形處理系統(tǒng)的操作。
如上文所述,本發(fā)明包括經(jīng)過圖形處理系統(tǒng)兩次發(fā)送要響應(yīng)于圖 形命令列表的一部分的命令而繪制的圖元, 一次是在旨在確定哪個(gè)圖 元將出現(xiàn)在每個(gè)采樣點(diǎn)的第一經(jīng)過中,然后另 一次是在更徹底地對(duì)出 現(xiàn)在每個(gè)采樣點(diǎn)的圖元進(jìn)行處理例如并優(yōu)選地以便準(zhǔn)備顯示圖元所 需的數(shù)據(jù)的第二經(jīng)過中。
因此,在以本發(fā)明的方式的操作中,命令列表閱讀器3將首先對(duì) 命令列表中可應(yīng)用本發(fā)明的方式的操作的部分讀入并進(jìn)行標(biāo)識(shí)(用于 觸發(fā)此類操作的合適機(jī)制將在下文更詳細(xì)地描述)。
響應(yīng)于對(duì)命令列表的這個(gè)部分進(jìn)行標(biāo)識(shí),命令列表閱讀器3將向 渲染狀態(tài)單元6發(fā)送適當(dāng)命令,以便將處理器1配置成對(duì)命令列表的該
部分以在本發(fā)明中為僅z模式的處理進(jìn)行處理。在這種僅a莫式的處理
中,圖形處理系統(tǒng)l這樣配置有效的僅寫入狀態(tài)為Z及Z測(cè)試的讀與 寫。
與命令列表中該部分的命令對(duì)應(yīng)的圖元接著正常地、但是以這個(gè) 特定僅Z模式的處理集合通過處理流水線。
這允許用圖元列表的該部分中的圖元的適當(dāng)Z值來(lái)填充Z緩沖器 16及分級(jí)Z錐體8,但是同時(shí)存儲(chǔ)器進(jìn)行存取且使例如片元處理及著色 最小化。
在到達(dá)命令列表中要用本發(fā)明的方式進(jìn)行處理的部分的結(jié)束時(shí) (此外,將這向命令列表閱讀器3指明的機(jī)制將在下文更詳細(xì)地描 述),則命令列表閱讀器3識(shí)別這種情況并觸發(fā)再次在命令列表的該部分上的處理(即,從存儲(chǔ)器第二次讀入命令列表中的該部分),但 是這次在本實(shí)施例中將用于命令列表中該部分(命令列表中與該部分 對(duì)應(yīng)的圖元的)的處理的渲染狀態(tài)設(shè)置為由對(duì)于命令列表中所涉及部 分所接收到的命令所指明的正常渲染狀態(tài)。換句話說(shuō),命令列表閱讀
器3使渲染狀態(tài)單元6將圖形處理器1配置成對(duì)在命令列表的該部分上 的第二經(jīng)過用"正常"方式處理圖元。
這意味著,在第二處理經(jīng)過中,圖元將被正常地處理,但是,例 如在執(zhí)行圖元保留Z測(cè)試7及片元早期Z測(cè)試10時(shí),那些測(cè)試將使用已 經(jīng)存儲(chǔ)在Z緩沖器16與Z錐體8的、來(lái)自第一處理經(jīng)過的Z值及數(shù)據(jù)。這 將導(dǎo)致那些測(cè)試從所述處理中揀選除要對(duì)所涉及采樣點(diǎn)進(jìn)行處理的 實(shí)際圖元(及片元)以外的所有圖元(并只使用圖形處理系統(tǒng)的正常 Z測(cè)試等硬件)。
換句話說(shuō),來(lái)自第 一處理經(jīng)過的所填充Z緩沖器16與在第二處理 經(jīng)過中執(zhí)行的Z測(cè)試一起,允許該系統(tǒng)確定哪個(gè)圖元將在第二處理經(jīng) 過中對(duì)每個(gè)采樣點(diǎn)進(jìn)行處理。
這允許該系統(tǒng)在第二處理經(jīng)過中避免實(shí)際上將被要響應(yīng)于命令
的任意圖元的不必要處理、例如片元著色,因此使在命令列表的該部 分上的第二處理經(jīng)過更為有效。
圖2及3示意示出了用于在本實(shí)施例中觸發(fā)以本發(fā)明的方式操作 的布置。
圖2示出在存儲(chǔ)器中的命令列表流包括用于繪制單個(gè)圖元的命令 的情況下這樣做的優(yōu)選實(shí)施例。圖3示出了命令列表流包含用于繪制 從存儲(chǔ)器請(qǐng)求圖元數(shù)據(jù)的多個(gè)圖元的命令的情形。
在圖2及3中所示的列表均與基于區(qū)塊的渲染系統(tǒng)有關(guān),且因此包 括開始新區(qū)塊命令"T"及將處理分支到新區(qū)塊的無(wú)條件分支命令"B,,, 如圖2及3中所示。但是,如果忽略圖3所示的區(qū)塊相關(guān)命令,則該命 令列表流將還與輸入到立即模式、非區(qū)塊化的圖形處理單元的命令列
40首先描述圖2所示的布置。
如圖2所示,命令列表30包括如上所述的開始新區(qū)塊命令3 l及無(wú) 條件分支命令32 (以便觸發(fā)新區(qū)塊的開始),這在本領(lǐng)域是已知的。 組合的命令列表30還包括指示繪制圖元的命令33的運(yùn)行。在這種實(shí)施 例中,"繪制圖元"命令33還包含繪制圖元所需的所有數(shù)據(jù)。這些命 令將由圖形處理器的驅(qū)動(dòng)器生成,并存儲(chǔ)在存儲(chǔ)器中,使得它們可被 圖形處理器的命令列表閱讀器3訪問。
圖2還示出了插入到命令列表中的兩條新命令,即"有效的僅Z模 式"命令"Z" 34及"基于僅Z模式的分支條件"命令"Zb,, 35。這些 新命令被驅(qū)動(dòng)器插入到預(yù)期用本發(fā)明的方式進(jìn)行處理的命令列表的 部分的周圍,并進(jìn)行操作,如下文將進(jìn)一步描述的,以便觸發(fā)用本發(fā) 明的方式的操作。
在本實(shí)施例中,在命令列表序列上執(zhí)行用本發(fā)明的方式的操作, 以便用不改變它們的Z值的著色器繪制不透明圖元(即,不可能通過 其顯示某些東西(顯示其后面的某些東西)的圖元),因此驅(qū)動(dòng)器識(shí) 別這些序列并將有效的僅Zi莫式命令34插在這種命令(圖元)序列之 前,并把基于僅Z模式的分支條件命令35插在這種序列(序列38、 37、 36)的結(jié)尾,如圖2所示。
然后,在命令列表閱讀器3在圖元列表中識(shí)別到有效的僅3莫式命 令34時(shí),它觸發(fā)圖形處理器l轉(zhuǎn)換為"僅Z"處理模式,在該模式中, 有效的僅渲染狀態(tài)為Z及Z測(cè)試的讀與寫,如上所述。然后,命令序列、 例如圖2所示的序列38用這種模式進(jìn)行處理,直到命令列表閱讀器識(shí) 別到在該序列的結(jié)尾的基于僅3莫式的分支條件命令35為止。
基于僅Z模式的分支條件命令對(duì)條件分支進(jìn)行編碼,其中分支條 件為當(dāng)前渲染模式為"正常,,還是"僅Z"。作為進(jìn)行分支的副作用, 它還觸發(fā)從僅Z模式向正常渲染模式的轉(zhuǎn)換。
這樣的作用是在命令列表中相關(guān)部分的第 一處理經(jīng)過的結(jié)束時(shí)(例如圖2中的部分38),命令列表閱讀器將觸發(fā)由基于僅》漠式的分支條件命令35所指明的條件分支(因?yàn)樵谀莻€(gè)點(diǎn),圖形處理器l將處于如被有效的僅Z模式命令34所觸發(fā)的僅Z^莫式),以便分支回命令列表的部分38的首部,但是還將圖形處理切換到正常渲染模式。
這些命令表示的命令列表的部分38將接著被圖形處理器1第二次橫過,如上所述,但是這次要繪制的圖元可為早期力東選的,如上所述,以便只有例如最近的表面將生成用于著色的采樣點(diǎn)及片元。
接著,在該第二經(jīng)過期間第二次到達(dá)基于僅Z模式的分支條件命令35時(shí),將不觸發(fā)該分支命令,因?yàn)樵撎幚砥鲗⒔又谜7绞竭M(jìn)行處理(即,圖形處理將不處于^f叉Z沖莫式),因此將不進(jìn)行分支且命令列表剩余部分以正常方式的處理可繼續(xù)下去。
圖3示出了稍微不同的命令列表布置。圖3再次示出了命令列表45,其中包括"新區(qū)塊,,命令31及"繪制三角形"命令40。但是,在這種情況下,繪制三角形命令40本身不包含所有必需的圖元數(shù)據(jù),因此改為觸發(fā)從與命令40指明將繪制的三角形對(duì)應(yīng)的圖元列表讀出適當(dāng)圖元(三角形)數(shù)據(jù)。
如圖3所示,適當(dāng)?shù)挠行H》漠式命令34以及基于僅&漠式的分支條件命令35被再次插入到命令列表中在本發(fā)明要應(yīng)用的繪制三角形(圖元)命令40的序列的周圍,例如在圖3所示的序列41、 42及43的周圍。
然后,這些命令觸發(fā)用上文結(jié)合圖2所述的方式進(jìn)行的操作。根據(jù)上文將理解,在圖2和圖3的布置中,作用是用本發(fā)明的方式處理(不透明)圖元的序列,因?yàn)槔鐖D3所示的命令序列41事實(shí)上表示與要響應(yīng)于包含在序列41中的繪制三角形命令40而繪制的圖元對(duì)應(yīng)的對(duì)應(yīng)圖元序列。
雖然圖2及3示出通過將適當(dāng)命令包含在提供給圖形處理器的命令列表中來(lái)觸發(fā)本發(fā)明的操作,但是如果需要這種操作可用其它方式進(jìn)行觸發(fā)。例如,圖形處理器可自己識(shí)別到要繪制不透明圖元的運(yùn)行的命令,例如然后對(duì)這種運(yùn)行觸發(fā)用本發(fā)明的方式的操作(并例如存 儲(chǔ)通過這種運(yùn)行允許這兩個(gè)處理經(jīng)過必需的數(shù)據(jù)、例如地址)。
對(duì)于響應(yīng)于包含在命令列表中的命令的以適當(dāng)及所需方式的上 述操作,圖形處理器1可配置成適當(dāng)?shù)膬HZ模式及正常模式。例如,適 當(dāng)時(shí),可存在為將處理流水線設(shè)置為僅Z模式或正常渲染模式所觸發(fā) 的全局渲染狀態(tài)變化。
如果像在申請(qǐng)人的稍早UK專利申請(qǐng)No. GB-A-2420261中所述的 系統(tǒng)中那樣,圖元及片元等在內(nèi)部域中攜帶對(duì)若干預(yù)定渲染狀態(tài)中之 一的索引,那么優(yōu)選地,這些預(yù)定渲染狀態(tài)中之一被設(shè)置到僅Z模式 渲染狀態(tài)。在這種情況下,在觸發(fā)僅Z模式時(shí),則可將每個(gè)圖元的渲 染狀態(tài)索引改寫為特定僅Z模式預(yù)定渲染狀態(tài)(例如,渲染狀態(tài)索引 0),然后將它經(jīng)過圖形處理器傳遞到柵格化器。因此,圖元將通過 處理器自動(dòng)拾取用于僅》漠式經(jīng)過的僅Z渲染狀態(tài)。
類似地,將還能夠且優(yōu)選地為僅Z模式渲染狀態(tài)保留片元程序地 址(如果使用片元著色)。然后優(yōu)選地,該地址將觸發(fā)避開片元著色 器(因?yàn)槠绦蛲ǔ?duì)于僅Z模式渲染狀態(tài)是不需要的)。
在本實(shí)施例中,如果通過圖元序列的第二處理經(jīng)過要使用<=(小 于或等于)或者>=(大于或等于)的Z比較函數(shù)來(lái)執(zhí)行,那么在第二 處理經(jīng)過中使用該Z比較函數(shù)。
但是,如果指明的Z比較函數(shù)對(duì)于所涉及圖元為〈(小于)或者〉 (大于),那么該(通過初始圖形繪制指令)指明的Z比較函數(shù)在第 二處理經(jīng)過中分別改變?yōu)?lt;=(小于或等于)或者>=(大于或等于)的 Z比較函數(shù)。
這是為了確保預(yù)期圖元(片元)將還在第二處理經(jīng)過中通過Z比 較測(cè)試,假定Z緩沖器16與Z錐體18將已經(jīng)包含那個(gè)圖元(片元)對(duì)所 涉及采樣點(diǎn)的深度值。這將確保始終生成與將在沒有本發(fā)明的情況下 繪制的相同圖元(片元),且該Z測(cè)試中的聯(lián)系的結(jié)果不對(duì)第二處理 經(jīng)過產(chǎn)生影響。在本實(shí)施例中,這種對(duì)第二處理經(jīng)過的Z比較功能的改變?nèi)绻匦鑴t在驅(qū)動(dòng)器支持軟件中執(zhí)行。例如,能夠?qū)⒋?是供為使驅(qū)動(dòng)器因而允許平臺(tái)集成人員決定是否進(jìn)行這種改變的編譯選項(xiàng)。
例如,將還能夠在為圖元列表的該部分所指定的深度測(cè)試為<或者> (小于或大于)的情況下禁止用本發(fā)明的方式的操作(即在任意情況下只激活本發(fā)明用于深度測(cè)試對(duì)其指定為<=或>=(小于或等于,或者大于或等于)的圖元的運(yùn)行)。那么,這將避免在實(shí)現(xiàn)本發(fā)明時(shí)對(duì)深度測(cè)試的Z比較函數(shù)的變化的需要。
上文的兩種變化可用驅(qū)動(dòng)器中的僅軟件變化來(lái)實(shí)現(xiàn),因此它們將允許本發(fā)明例如以對(duì)其的最小及僅局部變化而用于現(xiàn)有i殳計(jì)中。
在備選布置中,為同樣確保正確圖元及片元在第二處理經(jīng)過中通
過z測(cè)試,代替如上所述必需的對(duì)z比較函數(shù)進(jìn)行改變,將能夠?qū)υ诘谝惶幚斫?jīng)過中寫入的z值進(jìn)行偏移,對(duì)于z比較函數(shù)的〈(小于)系列則遠(yuǎn)離觀察點(diǎn)或者對(duì)于z比較的〉(大于)系列則朝向觀察點(diǎn),以便再
次確保在第二處理經(jīng)過中對(duì)正確片元(圖元)進(jìn)行著色。
圖5示出這種情況,并示出在第一處理經(jīng)過中確定的Z值70遠(yuǎn)離觀察點(diǎn)71的偏移,以便提供一組偏移Z值72供〈(小于)的Z比較函數(shù)時(shí)使用。
在該布置中,在第一處理經(jīng)過中確定的Z值70以可能的最小量進(jìn)行偏移,所述最小量可以任意效果加到來(lái)自第 一處理經(jīng)過的所確定Z值(或者適當(dāng)時(shí)從其減去)。
因此,在整數(shù)Z緩存的情況下,適當(dāng)時(shí),在第一處理經(jīng)過中寫入的Z值以 一 遞增或遞減。
在浮點(diǎn)Z值的情況下,要應(yīng)用的最小偏移將根據(jù)Z值本身而變化,但是可加到當(dāng)前Z值或從其減去的最小數(shù)在該情況下可根據(jù)Z值的指數(shù)(exponent)以及其尾數(shù)(mantissa)的固定大小來(lái)輕易確定。
然后,將在第一處理經(jīng)過中的所確定Z值寫到Z緩存16 (因此也寫到Z錐體8)之前,4巴所確定偏移應(yīng)用到所述Z值。
44在如上所述偏移Z值或者改變Z比較函數(shù)的備選布置中,將能夠給
Z緩沖器增設(shè)圖元ID緩沖器,在第一處理經(jīng)過中將確定成應(yīng)用到每個(gè) 采樣點(diǎn)的圖元的標(biāo)識(shí)存儲(chǔ)在所述圖元ID緩沖器。然后,在第二處理經(jīng) 過中,不使用每片元測(cè)試的Z緩沖器,每個(gè)片元(對(duì)于該片元對(duì)應(yīng)的 采樣點(diǎn))將具有其與先前為該片元而存儲(chǔ)在圖元ID緩沖器中的圖元ID 相比較的ID,且在第二處理經(jīng)過中只有與存儲(chǔ)在圖元ID緩沖器中的ID 相匹配的那些片元被著色和讀出。
換句話說(shuō),在第二處理經(jīng)過中,每片元(每采樣點(diǎn))早期深度測(cè) 試將被與片元相關(guān)聯(lián)的圖元標(biāo)識(shí)與在第一處理經(jīng)過中已經(jīng)生成的存 儲(chǔ)在圖元ID緩沖器中的圖元標(biāo)識(shí)之間的標(biāo)識(shí)比較取代。
在這種布置中,圖元標(biāo)識(shí)可例如通過使用計(jì)數(shù)器來(lái)進(jìn)行分配,所 述計(jì)數(shù)器對(duì)作為輸入的每個(gè)圖元遞增,這些圖元在它們流到渲染流水 線時(shí)被從該計(jì)數(shù)器分配ID。然后,對(duì)于第二處理經(jīng)過,圖元計(jì)數(shù)器可 復(fù)位,使得圖元在它們流入到該流水線時(shí)再次獲得適當(dāng)標(biāo)識(shí)。
圖4示出了圖形處理系統(tǒng)的第二實(shí)施例,它示意示出了上文備選 布置的一些布置。
如圖4所示,該實(shí)施例的圖形處理系統(tǒng)50包^"若干與圖1所示實(shí)施 例相同的組成部分。但是,它還具有對(duì)那個(gè)實(shí)施例的某些添加件,所 述添加件可用于合并上文的備選布置。
圖4還示意示出了外部存儲(chǔ)器接口 51,所述外部存儲(chǔ)器接口 51由 圖形處理系統(tǒng)、例如命令列表閱讀器3及頂點(diǎn)載入器4用來(lái)從外部存儲(chǔ) 器訪問相關(guān)數(shù)據(jù),例如命令列表及頂點(diǎn)數(shù)據(jù)。
圖4首先示意示出了Z偏移階段52,如上所述,它可用于將適當(dāng)偏 移應(yīng)用到在第一僅Z模式處理經(jīng)過中確定的Z值,然后將它們寫到Z緩 存,如上所述。
圖4還示意示出了圖元ID計(jì)數(shù)器53及圖元ID緩沖器54,所述圖元 ID緩沖器54如上所述可用來(lái)標(biāo)識(shí)要在第二處理經(jīng)過中進(jìn)行處理的適 當(dāng)圖元。如上所述,在該布置中,圖元ID計(jì)數(shù)器53在本實(shí)施例中為16比特 計(jì)數(shù)器,它在命令列表的 一部分要被用本發(fā)明的方式進(jìn)行處理時(shí)復(fù) 位,然后對(duì)作為輸入的、由命令列表中該部分所表示的該序列的每個(gè) 圖元遞增。然后,圖元在流到渲染流水線時(shí)從該計(jì)it器獲得適當(dāng)ID。
在第 一處理經(jīng)過中,給給定采樣點(diǎn)的給定片元所分配的圖元標(biāo)識(shí) (計(jì)數(shù)器值)被寫到圖元ID緩沖器54,同時(shí)其深度值被寫到Z緩沖器 16的對(duì)應(yīng)Z緩沖器單元。在本實(shí)施例中,圖元ID緩沖器54為16比特每 采樣點(diǎn)緩沖器,但是當(dāng)然可使用其它布置。
然后,在命令列表的該部分上的第二處理經(jīng)過(其所有渲染狀態(tài) 經(jīng)過)中,首先將圖元計(jì)數(shù)器53復(fù)位,使得對(duì)應(yīng)于命令列表的該部分 的圖元將/人該計(jì)數(shù)器獲得與在第 一處理經(jīng)過中在它們流到渲染流水 線時(shí)相同的ID。
但是,在該第二處理經(jīng)過中,對(duì)于每樣本點(diǎn)測(cè)試不使用Z緩沖器 16 (雖然可還有保留地使用Z錐體18)。每個(gè)片元改為具有其與存儲(chǔ) 在圖元ID緩沖器54中的那個(gè)樣本位置或那些樣本位置的對(duì)應(yīng)ID相比 較的所分配圖元ID,其中,揀選那些不匹配的片元且將那些不匹配片 元著色并讀出到顏色緩沖器,等。
圖4還示意示出了片上緩沖器55,它可用來(lái)存儲(chǔ)從在圖形處理平 臺(tái)50本身上的外部存儲(chǔ)器取出的數(shù)據(jù)。其中,該緩沖器可用來(lái)避免或 降低在執(zhí)行本發(fā)明時(shí)例如從外部存儲(chǔ)器兩次讀圖元列表及頂點(diǎn)位置 的需要。
為了使用該緩沖器,當(dāng)在本實(shí)施例中在第一處理經(jīng)過期間從外部 存儲(chǔ)器讀圖元列表及頂點(diǎn)位置時(shí),將該數(shù)據(jù)存儲(chǔ)在緩沖器55中,使得 數(shù)據(jù)在該緩沖器中對(duì)通過圖元列表的那個(gè)部分的第二處理經(jīng)過可用。
優(yōu)選地,緩沖器55通過僅Z命令復(fù)位(即,使得它可接著用與新 的僅Z命令有關(guān)的命令列表的該部分的新數(shù)據(jù)來(lái)填充)。
圖4所示的緩沖器55示出為具有長(zhǎng)度K的大小,即存儲(chǔ)等于K個(gè)圖 元的運(yùn)行(序列)的數(shù)據(jù)。該緩沖器可以例如以下方式中之一來(lái)使用。首先,在緩沖器55具有固定長(zhǎng)度K時(shí),如果命令列表中用本發(fā)明的方式進(jìn)行處理的部分長(zhǎng)于緩沖器55的長(zhǎng)度K,那么命令列表可分成將各自適合緩沖器55的子長(zhǎng)度,使得命令列表的整個(gè)部分的每個(gè)這種子長(zhǎng)度將實(shí)際上具有其自身的僅Z第一處理經(jīng)過布置。
備選地,緩沖器55可例如用第一K個(gè)命令列表?xiàng)l目以及要用本發(fā)明的方式進(jìn)行處理的命令列表的給定部分的關(guān)聯(lián)頂點(diǎn)位置來(lái)填充。在這種情況下,對(duì)于在命令列表的那部分上的第二處理經(jīng)過,第一K個(gè)命令等將從緩沖器55中取得,但是任何余下命令等將再次從外部存儲(chǔ)器取得。
例如,將還能夠定義某種多個(gè)長(zhǎng)度K的緩沖器55,命令列表超出它的一部分將分成子部分,則每個(gè)子部分具有其自身的按本發(fā)明方式的處理。
雖然以上實(shí)施例在命令列表被圖形處理器讀或執(zhí)行兩次的布置的上下文中進(jìn)行了描述,但是能夠具有其中雖然將需要在第一處理經(jīng)過之后將更多數(shù)據(jù)存儲(chǔ)在片上但那不是必需的布置。
例如,在第一處理經(jīng)過中,將能夠運(yùn)行包括材質(zhì)及所涉及圖元的任意其它變化量的插入操作,但是不需要對(duì)材質(zhì)進(jìn)行采樣,然后對(duì)每采樣點(diǎn)緩存足夠的信息以便允許第二處理經(jīng)過在不需要對(duì)命令列表再解析的情況下進(jìn)行。 一旦確定了要處理的圖元(片元),則它們能夠在第二處理經(jīng)過中使用緩存的信息來(lái)進(jìn)行處理。
這種布置將避免例如第二次讀入命令的需要,但是將要求更大的內(nèi)部存儲(chǔ)器及在第一處理經(jīng)過中的更多處理步驟。
另一備選是對(duì)每個(gè)采樣點(diǎn)存儲(chǔ)寫到如在第一處理經(jīng)過中所確定的那個(gè)采樣點(diǎn)的圖元命令。具有全部渲染狀態(tài)的第二處理經(jīng)過則將不需要再讀入命令,而是可改為在緩沖器的采樣點(diǎn)上運(yùn)行,使用所存儲(chǔ)圖元命令來(lái)確定要設(shè)置哪個(gè)狀態(tài)以供在第二處理經(jīng)過中處理采樣點(diǎn)。
在這種布置中,將優(yōu)選使用64比特圖元命令區(qū)塊緩沖器。
從上文可見,本發(fā)明在其優(yōu)選實(shí)施例中,至少提供改進(jìn)技術(shù)來(lái)避免渲染不可見片元。
因此,本發(fā)明可在其優(yōu)選實(shí)施例中至少減少外部存儲(chǔ)器帶寬的使 用,且因此減少功率使用。它還能幫助增加渲染的速度并增加處理復(fù) 雜場(chǎng)景的能力,并能夠以對(duì)應(yīng)用透明的方式這樣進(jìn)^f亍。
理系統(tǒng)配置成對(duì)要響應(yīng)于命令列表中 一部分的命令而繪制的圖元處 理兩次, 一次以僅Z渲染^^莫式且然后再次用有效的所有渲染狀態(tài),但
是使用從第 一處理經(jīng)過所確定的z值來(lái)從在第二處理經(jīng)過的處理中揀
選圖元及片元。在優(yōu)選實(shí)施例中,將命令插入到命令列表中在不透明 圖元的繪制運(yùn)行的命令的運(yùn)行的首部及尾部以便觸發(fā)這種操作。
權(quán)利要求
1.一種操作圖形處理器的方法,其中要由所述圖形處理器執(zhí)行的、包括指示所述圖形處理器繪制圖元的命令的圖形命令列表在所述命令被所述圖形處理器執(zhí)行之前被準(zhǔn)備并存儲(chǔ)在存儲(chǔ)器中,所述方法包括所述圖形處理器在所存儲(chǔ)命令列表的一部分中的命令序列上執(zhí)行第一處理經(jīng)過,以便導(dǎo)出可幫助從要響應(yīng)于所述命令列表的所述部分中的命令而繪制的圖元中選擇用于對(duì)采樣點(diǎn)集合中每個(gè)采樣點(diǎn)進(jìn)行處理的一個(gè)或多個(gè)圖元的數(shù)據(jù);存儲(chǔ)所述所導(dǎo)出數(shù)據(jù),以用于幫助選擇要在每個(gè)采樣點(diǎn)進(jìn)行處理的圖元;以及在所述命令序列上執(zhí)行第二處理經(jīng)過以便對(duì)要響應(yīng)于所存儲(chǔ)命令列表的所述部分中的命令而繪制的圖元進(jìn)行處理,使用所存儲(chǔ)數(shù)據(jù)來(lái)幫助從要響應(yīng)于所述所存儲(chǔ)命令列表的所述部分中的命令而繪制的圖元序列中選擇要在所述第二處理經(jīng)過中對(duì)每個(gè)采樣點(diǎn)進(jìn)行處理的所述一個(gè)或多個(gè)圖元。
2. 如權(quán)利要求l所述的方法,其中,所述第一處理經(jīng)過包括在每 個(gè)樣本位置執(zhí)行深度測(cè)試,以便基于所述圖元的深度值確定在每個(gè)樣 本位置的可見圖元。
3. 如權(quán)利要求1或2所述的方法,其中,在所述命令列表部分上 的所述第一處理經(jīng)過包括在要響應(yīng)于所述命令列表的所述部分中的 命令而繪制的圖元上執(zhí)行僅深度渲染經(jīng)過。
4. 如前述權(quán)利要求中任一項(xiàng)所述的方法,其中,在所述第一處理 經(jīng)過中導(dǎo)出并在所述第一處理經(jīng)過之后存儲(chǔ)的所述數(shù)據(jù)包括從所述 第 一處理經(jīng)過導(dǎo)出的深度緩存。
5. 如前述權(quán)利要求中任一項(xiàng)所述的方法,其中,對(duì)于每個(gè)采樣點(diǎn),在所述第一處理經(jīng)過中導(dǎo)出并存儲(chǔ)的、用于幫助要在所述第二處理經(jīng) 過中在每個(gè)采樣點(diǎn)進(jìn)行處理的圖元的選擇或標(biāo)識(shí)的所述數(shù)據(jù)包括可 用來(lái)對(duì)要在所述第二處理經(jīng)過期間在所述采樣進(jìn)行處理的圖元進(jìn)行 標(biāo)識(shí)的標(biāo)識(shí)符。
6. 如前述權(quán)利要求中任一項(xiàng)所述的方法,其中,在經(jīng)歷了所述第一處理經(jīng)過的命令列表的所述部分中的命令上執(zhí)行的所述第二處理 經(jīng)過包括提供在顯示器上顯示所述圖元所需的數(shù)據(jù)的渲染經(jīng)過。
7. 如前述權(quán)利要求中任一項(xiàng)所述的方法,其中,所述第二處理經(jīng) 過使用來(lái)自所述第一處理經(jīng)過的所存儲(chǔ)圖元標(biāo)識(shí)符來(lái)確定要在所述 笫二處理經(jīng)過中對(duì)每個(gè)采樣點(diǎn)進(jìn)行處理的圖元,或者所述第二處理經(jīng) 過使用來(lái)自所述第一處理經(jīng)過的所存儲(chǔ)深度緩存值來(lái)確定要在所述 第二處理經(jīng)過中對(duì)每個(gè)采樣點(diǎn)進(jìn)行處理的所述一個(gè)或多個(gè)圖元。
8. 如前述權(quán)利要求中任一項(xiàng)所述的方法,包括 將條件分支命令包含在給所述圖形處理系統(tǒng)所提供的所述命令列表中,以便在所述第一處理經(jīng)過之后觸發(fā)所述第二處理經(jīng)過的執(zhí) 行,所述條件分支命令既觸發(fā)至所述命令列表中另一點(diǎn)的分支還將在 進(jìn)行所述分支時(shí)觸發(fā)所述圖形處理系統(tǒng)的狀態(tài)改變,且對(duì)于所述條件 分支命令,進(jìn)行所述分支的條件是所述圖形處理系統(tǒng)的當(dāng)前狀態(tài)。
9. 如前述權(quán)利要求中任一項(xiàng)所述的方法,包括將來(lái)自所述第一處理經(jīng)過的所述命令列表的所讀數(shù)據(jù)的一些或 全部存儲(chǔ)在所述圖形處理器本身上,使其接著在所述圖形處理器上的 存儲(chǔ)器中對(duì)所述第二處理經(jīng)過可用。
10. —種在圖形處理系統(tǒng)中處理圖元的方法,所述方法包括在圖元序列上執(zhí)行第 一處理經(jīng)過,以便為采樣點(diǎn)集合的每個(gè)采樣 點(diǎn)確定在所述圖元序列中要對(duì)所述采樣點(diǎn)進(jìn)行處理的圖元的一個(gè)或 多個(gè)圖元;存儲(chǔ)數(shù)據(jù)以便允許在每個(gè)相應(yīng)采樣點(diǎn)處理所述所確定一個(gè)或多 個(gè)圖元;以及使用所述所存儲(chǔ)數(shù)據(jù)來(lái)執(zhí)行第二處理經(jīng)過以便對(duì)每個(gè)采樣點(diǎn)處 理所述圖元序列的所述相應(yīng)一個(gè)或多個(gè)圖元。
11. 一種圖形處理系統(tǒng),其中要由所述圖形處理系統(tǒng)執(zhí)行的、包 括指示所述圖形處理系統(tǒng)繪制圖元的命令的圖形命令列表在所述命 令被所述圖形處理系統(tǒng)執(zhí)行之前被準(zhǔn)備并存儲(chǔ)在存儲(chǔ)器中,所述圖形處理系統(tǒng)包括用于在所存儲(chǔ)命令列表的一部分中的命令序列上執(zhí)行第 一處理繪制的圖元中選擇用于對(duì)釆樣點(diǎn)集合中每個(gè)采樣點(diǎn)進(jìn)行處理的一個(gè) 或多個(gè)圖元的邀:據(jù)的部件;處理的圖元的部件;以及用于完成以下功能的部件在所述命令序列上執(zhí)行第二處理經(jīng)過行處理,使用所存儲(chǔ)數(shù)據(jù)來(lái)幫助從要響應(yīng)于所述所存儲(chǔ)命令列表的所 述部分中的命令而繪制的圖元序列中選擇要在所述第二處理經(jīng)過中 對(duì)每個(gè)采樣點(diǎn)進(jìn)行處理的所述一個(gè)或多個(gè)圖元。
12. 如權(quán)利要求11所述的系統(tǒng),其中,所述用于執(zhí)行第一處理經(jīng) 過的部件包括用于在每個(gè)樣本位置執(zhí)行深度測(cè)試以便基于所述圖元 的深度值確定在每個(gè)樣本位置的可見圖元的部件。
13. 如權(quán)利要求11或12所述的系統(tǒng),其中,所述用于在所述命 令列表部分上執(zhí)行第一處理經(jīng)過的部件包括用于在要響應(yīng)于所述命 令列表的所述部分中的命令而繪制的圖元上執(zhí)行僅深度渲染經(jīng)過的 部件。
14. 如權(quán)利要求11-13中任一項(xiàng)所述的系統(tǒng),其中,在所述第一 處理經(jīng)過中導(dǎo)出并在所述第一處理經(jīng)過之后存儲(chǔ)的所述數(shù)據(jù)包括從 所述第一處理經(jīng)過導(dǎo)出的深度緩存。
15. 如權(quán)利要求11-14中任一項(xiàng)所述的系統(tǒng),其中,對(duì)于每個(gè)采樣點(diǎn),在所述第一處理經(jīng)過中導(dǎo)出并存儲(chǔ)的、用于幫助要在所述第二 處理經(jīng)過中在每個(gè)采樣點(diǎn)進(jìn)行處理的圖元的選擇或標(biāo)識(shí)的所述數(shù)據(jù) 包括可用于對(duì)要在所述第二處理經(jīng)過期間在所述采樣進(jìn)行處理的圖 元進(jìn)4亍標(biāo)識(shí)的標(biāo)識(shí)符。
16. 如權(quán)利要求11-15中任一項(xiàng)所述的系統(tǒng),其中,所述用于在 經(jīng)歷了所述第一處理經(jīng)過的命令列表的所述部分中的命令上執(zhí)行所 述第二處理經(jīng)過的部件包括用于執(zhí)行渲染經(jīng)過以便提供在顯示器上 顯示所述圖元所需的凝:據(jù)的部件。
17. 如權(quán)利要求11-16中任一項(xiàng)所述的系統(tǒng),其中,所述用于執(zhí) 行第二處理經(jīng)過的部件包括使用來(lái)自所述第一處理經(jīng)過的所存儲(chǔ)圖元標(biāo)識(shí)符來(lái)確定要在所述第二處理經(jīng)過中對(duì)每個(gè)采樣點(diǎn)進(jìn)行處理的 圖元的部件、和/或使用來(lái)自所述第一處理經(jīng)過的所存儲(chǔ)深度緩存值來(lái) 確定要在所述第二處理經(jīng)過中對(duì)每個(gè)采樣點(diǎn)進(jìn)行處理的所述一個(gè)或 多個(gè)圖元的部件。
18. 如權(quán)利要求11-17中任一項(xiàng)所述的系統(tǒng),包括用于響應(yīng)于所述圖形處理系統(tǒng)所接收以供執(zhí)行的命令列表中的 特定條件分支命令根據(jù)所述圖形處理系統(tǒng)的狀態(tài)分支或不分支到所 述命令列表中的另 一點(diǎn)、且如果進(jìn)行所述分支就改變所述圖形處理系 統(tǒng)的狀態(tài)的部件。
19. 如權(quán)利要求11-18中任一項(xiàng)所述的系統(tǒng),包括用于將來(lái)自所述第一處理經(jīng)過的所述命令列表的所讀數(shù)據(jù)的一 些或全部存儲(chǔ)在所述圖形處理器本身上使其接著在所述圖形處理器 上的存儲(chǔ)器中對(duì)所述第二處理經(jīng)過可用的部件。
20. —種圖形處理系統(tǒng),包括用于在圖元序列上執(zhí)行第 一處理經(jīng)過以便為采樣點(diǎn)集合的每個(gè) 采樣點(diǎn)確定在所述圖元序列中要對(duì)所述采樣點(diǎn)進(jìn)行處理的圖元的一 個(gè)或多個(gè)圖元的部件;用于存儲(chǔ)數(shù)據(jù)以便允許在每個(gè)相應(yīng)采樣點(diǎn)處理所述所確定一個(gè)或多個(gè)圖元的部件;以及用于使用所述所存儲(chǔ)數(shù)據(jù)來(lái)執(zhí)行第二處理經(jīng)過以便對(duì)每個(gè)采樣 點(diǎn)處理所述相應(yīng)一個(gè)或多個(gè)圖元的部件。
21. —種計(jì)算機(jī)程序單元,包括計(jì)算機(jī)軟件代碼部分,用于在 所述程序單元在數(shù)據(jù)處理部件上運(yùn)行時(shí)執(zhí)行權(quán)利要求1-10中任一項(xiàng) 所述的方法。
全文摘要
在圖形處理系統(tǒng)中,命令列表閱讀器3首先讀入并標(biāo)識(shí)命令列表的一部分。對(duì)應(yīng)于命令列表中該部分的命令的圖元接著經(jīng)受僅Z處理經(jīng)過。這允許Z緩沖器16及分級(jí)Z錐體18被用命令列表中該部分的圖元的適當(dāng)Z值來(lái)填充。然后圖元經(jīng)受第二正常渲染處理經(jīng)過,但從第一處理經(jīng)過填充的Z緩沖器16及Z錐體18與在第二處理經(jīng)過中執(zhí)行的Z測(cè)試7、10一起使用,以便確定哪個(gè)圖元將在第二處理經(jīng)過中對(duì)每個(gè)采樣點(diǎn)進(jìn)行處理。
文檔編號(hào)G06T15/40GK101639929SQ20091014068
公開日2010年2月3日 申請(qǐng)日期2009年6月5日 優(yōu)先權(quán)日2008年6月5日
發(fā)明者A·H·科克斯, R·埃利奧特, R·費(fèi)爾, S·艾利斯 申請(qǐng)人:Arm有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1