專(zhuān)利名稱(chēng):基于區(qū)塊的3d計(jì)算機(jī)圖形系統(tǒng)中的多級(jí)顯示控制列表的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及三維計(jì)算機(jī)圖形系統(tǒng),更具體地,涉及使用基于區(qū)塊的渲染的系統(tǒng)。
背景技術(shù):
隨著處理能力的提高,三維計(jì)算機(jī)生成的圖像的復(fù)雜性也增加了。用于非常復(fù)雜的3D對(duì)象的計(jì)算機(jī)模型,就像使用頂點(diǎn)和三角形網(wǎng)孔的人類(lèi)活動(dòng)變得更容易生成。這種3D 模型可以被發(fā)送到3D計(jì)算機(jī)圖形系統(tǒng)中和在計(jì)算機(jī)屏幕上生成的動(dòng)畫(huà)3D圖像中。計(jì)算機(jī)生成的3D動(dòng)畫(huà)圖像被廣泛用于3D計(jì)算機(jī)游戲、導(dǎo)航工具和計(jì)算機(jī)輔助工程設(shè)計(jì)工具中。3D計(jì)算機(jī)圖形系統(tǒng)需要應(yīng)對(duì)更復(fù)雜的圖形和更快速的顯示的需要。隨著顯示模型中的細(xì)節(jié)的增加,要使用越來(lái)越多的圖元(primitive)和頂點(diǎn)。而且,隨著紋理和描影技術(shù)的發(fā)展,越來(lái)越多的信息被附到圖元和頂點(diǎn)數(shù)據(jù)上。在現(xiàn)代游戲中,在渲染中可以存在上百萬(wàn)個(gè)圖元。所以,存儲(chǔ)器帶寬是影響計(jì)算機(jī)圖形系統(tǒng)的性能的一個(gè)非常大的因素。已知基于區(qū)塊的渲染系統(tǒng)。這些系統(tǒng)將圖像細(xì)分成多個(gè)矩形塊或區(qū)塊。如英國(guó)專(zhuān)利GB2343603和國(guó)際專(zhuān)利申請(qǐng)WO 2004/086309中所述的,這些系統(tǒng)以nXm的像素區(qū)塊來(lái)將渲染表面分成子表面,類(lèi)似于三角形的圖元、線或點(diǎn)只在與圖元重疊的區(qū)塊中被處理。圖1中示出了在基于區(qū)塊的3D計(jì)算機(jī)圖形系統(tǒng)中的用于劃分區(qū)塊所執(zhí)行的主要步驟。這些步驟如下1.在圖1的101,接收?qǐng)D元和頂點(diǎn)的輸入數(shù)據(jù)流。類(lèi)似的位置上的圖元可以及時(shí)地順序達(dá)到,諸如三角形條或扇形。2.宏區(qū)塊引擎(MTE)將頂點(diǎn)轉(zhuǎn)換成屏幕空格(space),使用公知的方法移除背對(duì)著裁剪平面或被裁剪平面裁剪的圖元。在圖1的102,然后利用固定最大數(shù)目的頂點(diǎn)和圖元來(lái)將圖元組成圖元塊,然后將其寫(xiě)入的存儲(chǔ)器中。在103,頂點(diǎn)和圖元的數(shù)量與圖元塊 (圖元塊指針)的存儲(chǔ)器地址一起被發(fā)送到區(qū)塊引擎,以被添加到區(qū)塊的顯示列表的控制流中,所述區(qū)塊被圖元覆蓋。為了最小化存儲(chǔ)器帶寬的影響來(lái)取得圖元和頂點(diǎn)數(shù)據(jù),根據(jù)用于圖元塊的邊框 (bounding box)在宏區(qū)塊中將圖元組成圖元塊。在圖2中,宏區(qū)塊201是具有固定數(shù)目的區(qū)塊202的屏幕200的矩形區(qū)域。宏區(qū)塊例如可以是屏幕尺寸的四分之一或十六分之一。 該結(jié)構(gòu)被用來(lái)定位圖元塊和減少存儲(chǔ)器帶寬。當(dāng)圖元塊中的圖元與宏區(qū)塊相交時(shí),則被寫(xiě)入被稱(chēng)為全局宏區(qū)塊列表的特定的宏區(qū)塊列表中。這樣,圖元塊的參數(shù)數(shù)據(jù)只被寫(xiě)入一次。 來(lái)自宏區(qū)塊的圖元可以只被宏區(qū)塊內(nèi)部的區(qū)塊訪問(wèn),而來(lái)自全局宏區(qū)塊列表的圖元可以被所有的區(qū)塊訪問(wèn)。3.來(lái)自由宏區(qū)塊引擎102寫(xiě)入的圖元塊的每個(gè)圖元,對(duì)著圖元塊的邊框內(nèi)的每個(gè)區(qū)塊被檢查。圖元塊被添加到被圖元塊中的任意圖元所覆蓋的任何區(qū)塊的顯示列表中。與區(qū)塊顯示列表相關(guān)的控制流中所寫(xiě)入的控制數(shù)據(jù)包括用于圖元塊中的多個(gè)頂點(diǎn)和圖元的圖元塊頭、用于寫(xiě)入的圖元塊的存儲(chǔ)器地址的圖元塊指針和用于在區(qū)塊中可見(jiàn)的圖元的圖元掩碼。
為顯示列表中的控制流數(shù)據(jù)給每個(gè)區(qū)塊分配分開(kāi)的存儲(chǔ)器空間。被稱(chēng)為尾指針的存儲(chǔ)器地址指針被用于每個(gè)區(qū)塊的控制流數(shù)據(jù)中的下一個(gè)空閑地址。為了改善對(duì)區(qū)塊中控制流的存儲(chǔ)器訪問(wèn),小的高速緩存尾指針高速緩存(Tail Pointer Cache)可以被添加到區(qū)塊引擎103。存儲(chǔ)并從尾指針高速緩存中讀取區(qū)塊中的控制流端部的存儲(chǔ)器位置,這減少了主要的來(lái)自區(qū)塊引擎的存儲(chǔ)器訪問(wèn)。4.在104,對(duì)于圖3的區(qū)域陣列300的每個(gè)屏幕區(qū)塊執(zhí)行3D計(jì)算機(jī)圖形系統(tǒng)中的 3D圖像處理。它遍歷圖3中的每個(gè)區(qū)塊301的控制流,從由控制數(shù)據(jù)302中的圖元塊指針?biāo)赶虻拇鎯?chǔ)器地址讀取頂點(diǎn)和圖元數(shù)據(jù)。在來(lái)自圖元塊的區(qū)塊中有效的所有圖元上執(zhí)行圖像處理操作,例如隱藏表面移除、紋理化和描影。圖6示出了基于區(qū)塊的渲染的示例。是屏幕的一部分的宏區(qū)塊MTO 600在內(nèi)部具有16個(gè)區(qū)塊601。兩個(gè)三角形條602、603和大的三角形604由宏區(qū)塊引擎MTE 605處理, 并被投影到MTO中的一部分屏幕上。與三個(gè)圖元塊相關(guān)的頂點(diǎn)和圖元數(shù)據(jù)和其自己的存儲(chǔ)器地址被寫(xiě)入存儲(chǔ)器607。該三個(gè)圖元塊的存儲(chǔ)器地址指針然后被傳到區(qū)塊引擎TE 606以用于區(qū)塊處理。區(qū)塊引擎遍歷所有區(qū)塊以確定是否有圖元在區(qū)塊內(nèi)部,以及與在區(qū)塊中可見(jiàn)的圖元塊相關(guān)的控制流數(shù)據(jù)是否被寫(xiě)入用于區(qū)塊顯示列表的存儲(chǔ)器中。在示例中,T5中的顯示控制流將包括用于三個(gè)圖元塊的地址指針和在三個(gè)圖元塊內(nèi)的三角形的三角形可見(jiàn)掩碼的控制數(shù)據(jù)。例如,在T5中在圖元塊602中從左起的前三個(gè)三角形和從圖元塊603 的右邊起的第一個(gè)三角形與三角形604中是可見(jiàn)的。對(duì)于區(qū)塊T9,控制流數(shù)據(jù)只會(huì)由來(lái)自圖元塊603和604的信息組成。同時(shí),控制數(shù)據(jù)(諸如與圖元塊602相關(guān)的頂點(diǎn)數(shù)據(jù)的地址指針)被插入用于區(qū)塊T5和T6的兩個(gè)控制流中,而與圖元塊604相關(guān)的控制數(shù)據(jù)被插入用于宏區(qū)塊MTO中的每個(gè)區(qū)塊的控制流中。在3D渲染處理608中,所有的區(qū)塊按照如圖3的300所示的區(qū)域陣列的順序被一個(gè)一個(gè)地處理。對(duì)于3D處理中的每個(gè)區(qū)塊,首先從存儲(chǔ)器讀取來(lái)自區(qū)塊控制流的控制數(shù)據(jù),如圖3的301所示。區(qū)塊控制數(shù)據(jù)中與圖元塊相關(guān)的頂點(diǎn)和圖元數(shù)據(jù)從存儲(chǔ)器中被讀取,如圖3的302所示,從而所有對(duì)區(qū)塊可見(jiàn)的三角形被處理和渲染到屏幕上。對(duì)于基于區(qū)塊的計(jì)算機(jī)圖形系統(tǒng),基于區(qū)塊,在區(qū)塊上執(zhí)行渲染?;趨^(qū)塊的渲染的一個(gè)大的優(yōu)點(diǎn)是,顯著地降低了對(duì)大的圖形系統(tǒng)內(nèi)部存儲(chǔ)和存儲(chǔ)器帶寬的需要?;趨^(qū)塊的渲染的缺點(diǎn)是,對(duì)于每個(gè)區(qū)塊中的顯示列表,需要更多的控制數(shù)據(jù)。需要為三角形覆蓋的所有區(qū)塊寫(xiě)入顯示控制數(shù)據(jù)。對(duì)于覆蓋了許多區(qū)塊的大三角形,寫(xiě)入的控制數(shù)據(jù)的總數(shù)相當(dāng)大。例如,對(duì)于尺寸為1920X1080的屏幕,渲染可以被分成8160個(gè)16X16像素的區(qū)塊。覆蓋整個(gè)屏幕的大的三角形需要被添加到所有區(qū)塊的顯示列表中。如果有兩個(gè)控制數(shù)據(jù)所需的32比特字,則對(duì)于單個(gè)全屏三角形,總的控制流數(shù)據(jù)接近64KB。在這種情況下所需的控制數(shù)據(jù)的數(shù)量對(duì)存儲(chǔ)器空間需求和存儲(chǔ)器帶寬的影響非常大,所以這會(huì)影響基于區(qū)塊的3D計(jì)算機(jī)圖形系統(tǒng)中的渲染的性能。在英國(guó)專(zhuān)利申請(qǐng)0717781. 9中,描述了同時(shí)處理兩個(gè)區(qū)塊以改善區(qū)塊引擎的性能的系統(tǒng)。來(lái)自?xún)蓚€(gè)鄰近區(qū)塊的控制流數(shù)據(jù)被組合成單個(gè)顯示列表,在上述事例中,這降低總的控制流數(shù)據(jù)到大約32KB。在這種情況下,控制流數(shù)據(jù)的尺寸大約為一半,但這對(duì)于單個(gè)三角形來(lái)說(shuō)控制數(shù)據(jù)的數(shù)量仍然很大。
發(fā)明內(nèi)容
本發(fā)明的優(yōu)選實(shí)施方式提供了一種用于允許在基于區(qū)塊的3D計(jì)算機(jī)圖形系統(tǒng)中多級(jí)顯示控制列表的方法和系統(tǒng)。尤其是對(duì)于具有大的三角形的情景,這降低了寫(xiě)入的基于區(qū)塊的控制流數(shù)據(jù)的數(shù)量,從而降低了存儲(chǔ)器帶寬和提高了基于區(qū)塊的3D圖形系統(tǒng)的性能。在基于區(qū)塊的渲染系統(tǒng)中,覆蓋多個(gè)區(qū)塊的三角形為每個(gè)區(qū)塊消耗存儲(chǔ)器和帶寬,在所述區(qū)塊中參考量(reference)必須被置于控制流數(shù)據(jù)中。提出的本發(fā)明通過(guò)引入多級(jí)列表結(jié)構(gòu)而緩解了該問(wèn)題,在所述多級(jí)列表結(jié)構(gòu)中,后來(lái)的級(jí)別表示逐漸變大的區(qū)塊組,從而覆蓋許多區(qū)塊的三角形將只需要向控制流寫(xiě)入少量的參考量。在所述實(shí)施方式中, 在三個(gè)級(jí)別上實(shí)施多級(jí)列表結(jié)構(gòu),即區(qū)塊級(jí)別(1區(qū)塊)、區(qū)塊塊級(jí)別(NXM區(qū)塊)和宏區(qū)塊級(jí)別(XXY區(qū)塊)。提出的本發(fā)明可以很容易地被擴(kuò)展,從而可以使用多子級(jí)表示來(lái)使用于顯示列表的控制流更有效。在優(yōu)選實(shí)施方式中,提供了一種用于渲染三維計(jì)算機(jī)圖形圖像的方法,該方法包括以下步驟將圖像細(xì)分成多個(gè)矩形區(qū)塊;以多級(jí)結(jié)構(gòu)來(lái)安排區(qū)塊,所述多級(jí)結(jié)構(gòu)包括多個(gè)逐漸變大的區(qū)塊組的級(jí)別;將圖像數(shù)據(jù)劃分以將其渲染為包括需要用來(lái)渲染圖像的圖像數(shù)據(jù)的多個(gè)圖元塊;在多級(jí)結(jié)構(gòu)中根據(jù)圖元塊相交的一組區(qū)塊來(lái)將每個(gè)圖元塊分配到一組區(qū)塊中,從而在多級(jí)結(jié)構(gòu)中每個(gè)圖元塊被分配到一個(gè)級(jí)別中的組中;得到用于渲染圖像的控制流數(shù)據(jù),對(duì)于對(duì)應(yīng)于分配給每組的圖元塊的多級(jí)結(jié)構(gòu)的每級(jí)內(nèi)的每組區(qū)塊,該控制流數(shù)據(jù)包括對(duì)圖元塊的參考量;以及使用控制流數(shù)據(jù)來(lái)將圖元數(shù)據(jù)渲染區(qū)塊組內(nèi)的區(qū)塊以用于顯示。
圖1示出了上述的當(dāng)在基于區(qū)塊的3D計(jì)算機(jī)圖形系統(tǒng)中執(zhí)行區(qū)塊劃分時(shí)所執(zhí)行的主要步驟的綜述;圖2示出了上述在基于區(qū)塊的3D計(jì)算機(jī)圖形系統(tǒng)中所使用的屏幕上的宏區(qū)塊和區(qū)塊;圖3示出了上述用于區(qū)塊劃分的數(shù)據(jù)結(jié)構(gòu)的綜述;圖4示出了在本發(fā)明的實(shí)施方式中用于宏區(qū)塊中的多級(jí)顯示控制列表的數(shù)據(jù)結(jié)構(gòu)的綜述;圖5示出了在本發(fā)明的實(shí)施方式中用于多級(jí)顯示控制列表中的控制流數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)的綜述;圖6示出了基于區(qū)塊的渲染的示例。
具體實(shí)施例方式在上述基于區(qū)塊的3D計(jì)算機(jī)圖形系統(tǒng)中,區(qū)塊引擎采用來(lái)自宏區(qū)塊引擎的圖元塊并計(jì)算需要渲染圖元的區(qū)塊的最小數(shù)目。在圖3的301,然后處理區(qū)塊的最小列表,以及用于圖元塊數(shù)據(jù)的地址的圖元塊指針以及描述存在于區(qū)塊中的圖元的圖元頭字一起作為控制流數(shù)據(jù)被寫(xiě)入動(dòng)態(tài)分配的存儲(chǔ)器。每個(gè)區(qū)塊具有其自己固定尺寸的用于控制流數(shù)據(jù)的存儲(chǔ)器空間。該空間中的存儲(chǔ)器塊被基于區(qū)塊的3D計(jì)算機(jī)圖形系統(tǒng)按需分配。當(dāng)用于特定區(qū)塊的要被添加到控制流的新數(shù)據(jù)超過(guò)分配的當(dāng)前存儲(chǔ)器塊時(shí),請(qǐng)求新的塊分配以及使用流鏈接來(lái)將舊的控制流鏈接到新的塊分配處。如果宏區(qū)塊引擎經(jīng)由終端信號(hào)來(lái)指出情景的結(jié)束,處理所有的區(qū)塊,并用終止字來(lái)結(jié)束有效區(qū)域中用于區(qū)塊的控制流。在基于區(qū)塊的3D圖形系統(tǒng)中,用于圖元塊的頂點(diǎn)和索引數(shù)據(jù)可以只一次被寫(xiě)入圖元塊所屬于的宏區(qū)塊,當(dāng)圖元塊的邊框跨過(guò)宏區(qū)塊時(shí)被寫(xiě)入全局宏區(qū)塊列表。當(dāng)圖元塊包括大的圖元時(shí),控制流數(shù)據(jù)可能需要被多次寫(xiě)入圖元所重疊的所有區(qū)塊中。在全屏三角形的極端情況下,需要為屏幕上的每個(gè)區(qū)塊寫(xiě)入控制流數(shù)據(jù)。多次重復(fù)的控制流數(shù)據(jù)寫(xiě)入可以造成存儲(chǔ)器帶寬的明顯增加。在本發(fā)明的實(shí)施方式中,使用多級(jí)顯示控制列表來(lái)代替基于區(qū)塊的單個(gè)顯示控制列表。雖然所選擇的子級(jí)別數(shù)目對(duì)于本領(lǐng)域的技術(shù)人員來(lái)說(shuō)可根據(jù)設(shè)計(jì)選擇,但多級(jí)顯示控制列表中的控制流數(shù)據(jù)可以基于區(qū)塊分組,諸如宏區(qū)塊和區(qū)塊單元,而不是基于單個(gè)的區(qū)塊??刂屏斜戆ㄓ糜诿總€(gè)區(qū)塊分組的控制流數(shù)據(jù),控制流數(shù)據(jù)包括對(duì)要被渲染到每個(gè)各自用于區(qū)塊的分組的圖元塊的參考量,以用于渲染圖像來(lái)顯示。下面將描述用于控制流數(shù)據(jù)的示例性結(jié)構(gòu)??梢詫?shí)施更高或更低的復(fù)雜度。多級(jí)顯示控制列表在本發(fā)明的實(shí)施方式中,宏區(qū)塊將圖像分成16個(gè)區(qū)塊單元(TB)。在區(qū)塊單元中根據(jù)宏區(qū)塊尺寸區(qū)塊的數(shù)目對(duì)于渲染來(lái)說(shuō)是固定的。假設(shè)宏區(qū)塊尺寸為16區(qū)塊乘16區(qū)塊 (256個(gè)區(qū)塊)則宏區(qū)塊400中的區(qū)塊單元401每個(gè)將是相同尺寸的4區(qū)塊乘4區(qū)塊(16 個(gè)區(qū)塊),如圖4所示。為宏區(qū)塊中的每個(gè)區(qū)塊單元形成控制流列表。對(duì)于4個(gè)宏區(qū)塊有 16X4 = 64個(gè)控制流列表,而對(duì)于16個(gè)紅區(qū)塊有16X 16 = 256個(gè)控制流列表。仍然基于一個(gè)區(qū)塊一個(gè)區(qū)塊地執(zhí)行渲染,但區(qū)塊單元中的區(qū)塊將共享相同的控制流列表。使用基于區(qū)塊單元的多級(jí)顯示控制列表的主要好處是減少了所需控制數(shù)據(jù)的數(shù)量,并減小了存儲(chǔ)器帶寬,尤其是對(duì)于覆蓋了所需區(qū)塊的大的圖元。其他好處包括沒(méi)有基于區(qū)塊的控制流列表,所以不需要存儲(chǔ)要在每個(gè)區(qū)塊中寫(xiě)入的控制流數(shù)據(jù)的下一個(gè)自由地址。可以為每個(gè)區(qū)塊使用1比特的區(qū)塊使用的標(biāo)記,從而當(dāng)情景結(jié)束時(shí)能夠識(shí)別區(qū)塊是否是空區(qū)塊。而且,由于基于宏區(qū)塊的控制流列表的數(shù)目是有限的,所以不需要寫(xiě)出用于區(qū)域陣列中的每個(gè)區(qū)塊的控制流基地址字。控制流數(shù)據(jù)結(jié)構(gòu)多級(jí)顯示控制流列表系統(tǒng)的數(shù)據(jù)結(jié)構(gòu)包括三個(gè)主要部分區(qū)塊單元控制列表 403、控制指針404和圖元頂點(diǎn)掩碼405,如圖4所示。基于每個(gè)區(qū)塊單元(TBO,TBI. . . . TB15)提供區(qū)塊單元控制列表403。在諸如圖4 中的403所示的宏區(qū)塊結(jié)構(gòu)中有16個(gè)區(qū)塊單元控制列表。每個(gè)區(qū)塊單元控制列表具有在宏區(qū)塊的所分配的存儲(chǔ)器空間中分配的其自己的存儲(chǔ)器空間。對(duì)于每個(gè)宏區(qū)塊提供圖4中的控制指針404和圖元掩碼數(shù)據(jù)405。它們?cè)诤陞^(qū)塊的所分配的存儲(chǔ)器中具有分開(kāi)的存儲(chǔ)器空間。區(qū)塊單元控制列表在多級(jí)顯示控制列表系統(tǒng)中,基于每個(gè)區(qū)塊單元(ΤΒ0等)提供控制流列表。在圖 5的如500所示的宏區(qū)塊中有用于每個(gè)區(qū)塊單元的區(qū)塊單元控制列表。區(qū)塊單元控制列表包括對(duì)關(guān)系到區(qū)塊單元的每個(gè)圖元塊的參考量。由于在區(qū)塊單元中的所有區(qū)塊之間共享區(qū)塊單元控制列表,所以在控制列表中參考的圖元塊可以只對(duì)區(qū)塊單元中的一些區(qū)塊有效。當(dāng)渲染圖像時(shí),在本發(fā)明的該實(shí)施方式中使用的數(shù)據(jù)結(jié)構(gòu)被設(shè)計(jì)成使用快捷方式來(lái)盡可能快地跳過(guò)在其中的圖元塊不需要被處理的區(qū)塊。對(duì)于關(guān)于其圖元塊不需要被處理的區(qū)塊來(lái)說(shuō),本發(fā)明的實(shí)施方式以最少量的數(shù)據(jù)獲得了所有用于處理圖元塊的信息。區(qū)塊單元控制字因?yàn)樵诿總€(gè)宏區(qū)塊列表404中寫(xiě)入用于圖元塊中的頂點(diǎn)數(shù)據(jù)的地址指針,所以該地址指針被宏區(qū)塊中的所有區(qū)塊單元共享。在特定的區(qū)塊單元中,不是宏區(qū)塊中的所有圖元塊可以在區(qū)塊單元中被參考。足以能夠跳過(guò)這些在區(qū)塊單元中不需要的圖元塊。圖5中的塊控制字503是多級(jí)顯示控制列表流的最高級(jí)控制字。如在表1中所示, 其具有2比特編碼,并主要用于確定是否對(duì)于所述區(qū)塊處理單元圖元塊。
權(quán)利要求
1.一種用于渲染三維計(jì)算機(jī)圖形圖像的方法,該方法包括以下步驟 將所述圖像細(xì)分為多個(gè)矩形區(qū)塊;以多級(jí)結(jié)構(gòu)安排所述區(qū)塊,所述多級(jí)結(jié)構(gòu)包括多個(gè)逐漸變大的區(qū)塊分組的級(jí)別; 將要被渲染的圖像數(shù)據(jù)劃分為多個(gè)圖元塊,所述多個(gè)圖元塊包括需要用來(lái)渲染所述圖像的圖像數(shù)據(jù);在所述多級(jí)結(jié)構(gòu)中根據(jù)與每個(gè)圖元塊相交的區(qū)塊分組來(lái)將所述每個(gè)圖元塊分配到所述區(qū)塊分組中,以使得每個(gè)圖元塊被分配到所述多級(jí)結(jié)構(gòu)中的一個(gè)級(jí)別中的分組中;得到用于渲染所述圖像的控制流數(shù)據(jù),對(duì)于對(duì)應(yīng)于分配給每個(gè)分組的圖元塊的多級(jí)結(jié)構(gòu)的每級(jí)內(nèi)的每個(gè)區(qū)塊分組,該控制流數(shù)據(jù)包括對(duì)圖元塊的參考量;以及使用所述控制流數(shù)據(jù)來(lái)將圖元數(shù)據(jù)渲染為所述區(qū)塊分組內(nèi)的區(qū)塊以用于顯示。
2.根據(jù)權(quán)利要求1所述的方法,其中所述控制流數(shù)據(jù)包括區(qū)塊單元控制字,并且所述方法包括以下步驟對(duì)于所述區(qū)塊單元控制字的狀態(tài),確定是否在渲染各個(gè)區(qū)塊單元時(shí)要處理圖元塊。
3.根據(jù)權(quán)利要求2所述的方法,其中所述控制流數(shù)據(jù)包括區(qū)塊單元控制格式字,在確定要為區(qū)塊單元處理每個(gè)圖元塊時(shí),使用該區(qū)塊單元控制格式字以確定對(duì)于當(dāng)前正被處理的區(qū)塊是否要處理圖元塊。
4.根據(jù)權(quán)利要求3所述的方法,其中所述控制流數(shù)據(jù)包括全圖元掩碼標(biāo)記存在比特, 以用于確定在所述控制流數(shù)據(jù)中是否存在任何全圖元掩碼,以及所述全圖元掩碼被用來(lái)為區(qū)塊單元中的每個(gè)區(qū)塊獲得比特,該比特用來(lái)確定圖元塊中的所有圖元是否在每個(gè)各自的區(qū)塊中可見(jiàn)。
5.根據(jù)權(quán)利要求4所述的方法,其中所述控制流數(shù)據(jù)包括圖元掩碼格式字,該圖元掩碼格式字用來(lái)確定當(dāng)所述全圖元掩碼標(biāo)記存在比特沒(méi)有被重置時(shí),在區(qū)塊單元中哪些區(qū)塊具有全圖元掩碼。
6.一種用于渲染三維計(jì)算機(jī)圖形圖像的設(shè)備,該設(shè)備包括 用于將所述圖像細(xì)分為多個(gè)矩形區(qū)塊的裝置;用于以多級(jí)結(jié)構(gòu)安排所述區(qū)塊的裝置,所述多級(jí)結(jié)構(gòu)包括多個(gè)逐漸變大的區(qū)塊分組的級(jí)別;用于將要被渲染的圖像數(shù)據(jù)劃分為多個(gè)圖元塊的裝置,所述多個(gè)圖元塊包括需要用來(lái)渲染所述圖像的圖像數(shù)據(jù);用于在所述多級(jí)結(jié)構(gòu)中根據(jù)與每個(gè)圖元塊相交的區(qū)塊分組來(lái)將所述每個(gè)圖元塊分配到所述區(qū)塊分組中以使得每個(gè)圖元塊被分配到所述多級(jí)結(jié)構(gòu)中的一個(gè)級(jí)別中的分組中的裝置;用于得到用于渲染所述圖像的控制流數(shù)據(jù)的裝置,對(duì)于對(duì)應(yīng)于分配給每個(gè)分組的圖元塊的多級(jí)結(jié)構(gòu)的每級(jí)內(nèi)的區(qū)塊分組,該控制流數(shù)據(jù)包括對(duì)圖元塊的參考量;以及用于使用所述控制流數(shù)據(jù)來(lái)將圖元數(shù)據(jù)渲染為所述區(qū)塊分組內(nèi)的區(qū)塊以用于顯示的直ο
7.根據(jù)權(quán)利要求6所述的設(shè)備,其中所述控制流數(shù)據(jù)包括區(qū)塊單元控制字,以及所述系統(tǒng)包括用于根據(jù)所述區(qū)塊單元控制字的狀態(tài)確定是否在渲染各個(gè)區(qū)塊單元時(shí)要處理圖元塊的裝置。
8.根據(jù)權(quán)利要求7所述的系統(tǒng),其中所述控制流數(shù)據(jù)包括區(qū)塊單元控制格式字,以及用于使用所述區(qū)塊單元控制格式字來(lái)針對(duì)被確定為需要被處理成區(qū)塊單元的每個(gè)圖元確定對(duì)于在所述區(qū)塊單元內(nèi)當(dāng)前正被處理的區(qū)塊是否要處理圖元塊的裝置。
9.根據(jù)權(quán)利要求8所述的系統(tǒng),其中所述控制流數(shù)據(jù)包括全圖元掩碼標(biāo)記存在比特, 以及包括根據(jù)所述全圖元掩碼標(biāo)記存在比特來(lái)確定在所述控制流數(shù)據(jù)中是否存在任何全圖元掩碼比特的步驟,以及用于為區(qū)塊單元中的每個(gè)區(qū)塊設(shè)置全圖元掩碼比特以確定圖元塊中的全圖元是否在每個(gè)各自的區(qū)塊單元中可見(jiàn)的裝置。
10.根據(jù)權(quán)利要求9所述的系統(tǒng),其中所述控制流數(shù)據(jù)包括圖元掩碼格式字,以及包括用于根據(jù)所述圖元掩碼格式字來(lái)確定當(dāng)所述全圖元掩碼標(biāo)記存在比特沒(méi)有被設(shè)置時(shí)在區(qū)塊單元中哪些區(qū)塊具有全圖元掩碼的裝置。
全文摘要
提供了一種用于渲染三維計(jì)算機(jī)圖形圖像的方法和設(shè)備。將圖像分為多個(gè)矩形區(qū)塊,以多級(jí)結(jié)構(gòu)來(lái)安排區(qū)塊,多級(jí)結(jié)構(gòu)包括多個(gè)逐漸變大的區(qū)塊分組的級(jí)別。圖像數(shù)據(jù)被分到多個(gè)圖元塊中,以及多個(gè)圖元塊根據(jù)每個(gè)所相交的分組來(lái)被分配成多級(jí)結(jié)構(gòu)內(nèi)的區(qū)塊分組。得到用于渲染圖像的控制流數(shù)據(jù),該控制流數(shù)據(jù)包括用于在多級(jí)結(jié)構(gòu)的每一級(jí)中的每一個(gè)分組的圖元塊的參考量,對(duì)應(yīng)于圖元塊的參考量被分配給每個(gè)分組,以及使用控制流數(shù)據(jù)來(lái)將圖元數(shù)據(jù)渲染為區(qū)塊分組內(nèi)的區(qū)塊以用于顯示。完成這些從而使得對(duì)于與分組內(nèi)的多個(gè)區(qū)塊相交的圖元塊來(lái)說(shuō),為區(qū)塊分組而不是為分組內(nèi)的每個(gè)區(qū)塊寫(xiě)入控制流數(shù)據(jù)。
文檔編號(hào)G06T15/00GK102292748SQ200980155283
公開(kāi)日2011年12月21日 申請(qǐng)日期2009年12月21日 優(yōu)先權(quán)日2008年12月19日
發(fā)明者X·楊 申請(qǐng)人:想象技術(shù)有限公司