專利名稱:用于再現(xiàn)計(jì)算機(jī)圖形圖像的計(jì)算機(jī)圖形系統(tǒng)以及方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種用于再現(xiàn)計(jì)算機(jī)圖形圖像的計(jì)算機(jī)圖形系統(tǒng)及其方法。
在三維計(jì)算機(jī)圖形中,通常通過(guò)在所期望的形狀中組合多個(gè)多邊形來(lái)再現(xiàn)表面。計(jì)算機(jī)圖形系統(tǒng)通常具有圖形流水線的形式,其中需要根據(jù)這種多邊形模型來(lái)生成圖像的操作被并行執(zhí)行,由此來(lái)實(shí)現(xiàn)較高的再現(xiàn)速度。
可以根據(jù)US6,297,833來(lái)了解計(jì)算機(jī)圖形系統(tǒng)。計(jì)算機(jī)圖形系統(tǒng)包括用于為光柵化器(rasterizer)提供輸入的前端以及安裝臺(tái)。輪到它時(shí),所述光柵化器驅(qū)動(dòng)顏色生成器,顏色生成器包括用于生成可選紋理的紋理值的紋理臺(tái),以及用于通過(guò)把紋理映射到表面來(lái)產(chǎn)生逼真的輸出圖象的合成器臺(tái)。為此,所述光柵化器在顯示空間中生成坐標(biāo)序列并且通過(guò)內(nèi)插相應(yīng)的紋理坐標(biāo)來(lái)計(jì)算。所述合成器臺(tái)被配置為通過(guò)混合第一紋理值與第一組顏色值來(lái)生成第一混合值、混合第二紋理值與第二組顏色值來(lái)生成第二混合值并且組合第二混合值與第一混合值,以此來(lái)為多邊形圖元的像素生成紋理化的顏色值。
已知系統(tǒng)的缺點(diǎn)在于由于彩色數(shù)據(jù)必須以明顯高于顯示分辨率的分辨率來(lái)計(jì)算,故而圖形保真要求很大的計(jì)算工作量。
根據(jù)ACM 2002的Proceedings of Graphics Hardware 2002中、由Koen Meinds以及Bart Barenbrug提出的文章“Resample hardwarefor 3D Graphics”的17-26頁(yè)(編者為T(mén).Ertl以及W.Heidrich以及M Doggett)可以了解一種完全不同的方法。與從US6,297,833獲知的系統(tǒng)相反,在顯示坐標(biāo)被內(nèi)插的同時(shí),所述光柵化器能夠遍歷與待映射的紋理柵格相一致的采樣坐標(biāo)序列。通過(guò)把為內(nèi)插的顯示坐標(biāo)而計(jì)算的彩色數(shù)據(jù)映射至顯示柵格,可以獲得顯示上得到的像素值。執(zhí)行此過(guò)程的重新采樣器單元將被表示為顯示空間重新采樣器(DSR)。根據(jù)US6,297,833獲知的用于對(duì)紋理柵格重新采樣的重新采樣器將被表示為紋理空間重新采樣器(TSR)。
這種圖形系統(tǒng)能夠以減少計(jì)算工作量來(lái)再現(xiàn)圖形保真的圖像。所實(shí)現(xiàn)的圖形保真質(zhì)量要優(yōu)于通過(guò)4×4超采樣獲得的質(zhì)量,雖然芯片外存儲(chǔ)器帶寬以及計(jì)算成本大致可與2x2超采樣相比。
然而,在該文章中,無(wú)法認(rèn)識(shí)到在如這里所述的圖形系統(tǒng)中如何實(shí)現(xiàn)包括諸如相關(guān)多紋理化(例如,像用于凹凸環(huán)境映射那樣)特征的可編程像素明暗處理。
本發(fā)明的目的在于提供一種計(jì)算機(jī)圖形系統(tǒng),其能夠以相對(duì)小的計(jì)算工作量并以相對(duì)寬范圍的視覺(jué)效應(yīng)來(lái)再現(xiàn)圖像。
依照此目的,本發(fā)明的計(jì)算機(jī)圖形系統(tǒng)具有如權(quán)利要求1所述的特征。
在依照本發(fā)明的計(jì)算機(jī)圖形系統(tǒng)中,所述光柵化器基于圖元的幾何信息在與所述圖元相關(guān)聯(lián)的空間中的柵格上生成規(guī)則的坐標(biāo)序列。詞語(yǔ)“相關(guān)聯(lián)的”表示由所述柵格遍歷的坐標(biāo)序列由所述圖元來(lái)確定。它能夠生成所述序列以便與紋理的柵格相一致。所述顏色生成器使用所述外觀信息向所述坐標(biāo)指定顏色。由顯示空間重新采樣器對(duì)顯示空間中的柵格重新采樣如此獲得的色彩采樣。與根據(jù)US6,297,833獲知的方法相比,適當(dāng)?shù)倪^(guò)濾明顯得以簡(jiǎn)化。首先,它便于確定哪些顏色采樣有助于特定的像素。因?yàn)閳D形保真所需的預(yù)過(guò)濾器的軌跡與用于定義所述顯示空間的軸對(duì)準(zhǔn),故而其便于確定在顯示空間中映射的紋理坐標(biāo)是否在像素的所述軌跡范圍之內(nèi)。此外,與反向紋理映射相反,其不必把過(guò)濾函數(shù)從像素空間變換到紋理空間。最后,因?yàn)樗龉鈻呕l(fā)生在與所述圖元相關(guān)聯(lián)的空間中,故而對(duì)于過(guò)濾處理來(lái)說(shuō),只有局限于所述圖元的所述空間中的坐標(biāo)被考慮。所述顏色生成器中的紋理空間重新采樣器能夠?qū)?lái)自任意柵格的基本柵格重新采樣由紋理數(shù)據(jù)單元提供的紋理數(shù)據(jù)。所述光柵化器能夠生成與第一序列相關(guān)聯(lián)的一個(gè)或多個(gè)內(nèi)插值序列,包括用于編址紋理采樣的第二坐標(biāo)序列。詞語(yǔ)“相關(guān)聯(lián)的”此處指明對(duì)于第一序列的每個(gè)坐標(biāo)存在相應(yīng)的值,或者亦對(duì)于第二序列的坐標(biāo)。第一和第二坐標(biāo)序列之間的關(guān)系例如依賴于所述圖元相對(duì)于所述環(huán)境的方位。以這種方式,其不僅能夠映射簡(jiǎn)單的紋理,而且能夠映射環(huán)境數(shù)據(jù)。所述顏色生成器中的明暗處理單元能夠產(chǎn)生相對(duì)寬范圍的視覺(jué)效應(yīng)。這能夠采用適用于如US6,297,833中所描述的系統(tǒng)的明暗處理程序,其使用如多個(gè)紋理、相關(guān)紋理以及其他的象素明暗處理形式的效應(yīng)。然而與根據(jù)US6,297,833獲知的系統(tǒng)相反,本發(fā)明的計(jì)算機(jī)圖形系統(tǒng)包括紋理空間重新采樣器,用于對(duì)由基本柵格定義的空間重新采樣所述紋理數(shù)據(jù)。正如在
中更加詳細(xì)闡明的那樣,這克服了較大緩沖器的需求。
如果可能的話,所述基本柵格是紋理柵格。這樣克服了重新采樣該紋理的需要。重新采樣往往需要額外的計(jì)算工作量并且往往會(huì)損失圖像質(zhì)量。
然而,當(dāng)把不適當(dāng)?shù)募y理與所述圖元相關(guān)聯(lián)時(shí),才會(huì)出現(xiàn)情況。這種情況諸如是由1D模式描述的紋理,其例如可以用來(lái)再現(xiàn)彩虹。另一例子是存為3D(體積的)模式的紋理。權(quán)利要求3的實(shí)施例還允許通過(guò)選擇虛擬柵格來(lái)使用這種紋理以再現(xiàn)圖像。
在權(quán)利要求4的實(shí)施例中,光柵化器還在與輸入坐標(biāo)相關(guān)聯(lián)的顯示空間中生成坐標(biāo)序列。這樣具有如下好處,即顯示空間中的坐標(biāo)可以僅僅通過(guò)內(nèi)插來(lái)計(jì)算。作為選擇,顯示空間中的位置可以通過(guò)獨(dú)立的變換單元來(lái)計(jì)算,但是這要求浮點(diǎn)乘法和除法。
權(quán)利要求5的實(shí)施例明顯增加了用于特殊效應(yīng)的機(jī)會(huì)。通過(guò)將作為輸入坐標(biāo)的紋理數(shù)據(jù)反饋到紋理空間重新采樣器,能夠應(yīng)用如“Real-Time Shading”的第108頁(yè)中所述的所謂的凹凸環(huán)境映射,該篇文章是2002年由Massachusetts的M.Olano,J.C.Hart,W.Heidrich,M.McCool,A K Peters,Natick提出的。
權(quán)利要求6的實(shí)施例還減少了對(duì)于如下那些情況的計(jì)算,即只有簡(jiǎn)單的紋理被映射至所述圖元的表面。簡(jiǎn)單紋理的定義排除了環(huán)境數(shù)據(jù)以及如凹凸環(huán)境映射中那樣遞歸地定義紋理的情況。當(dāng)映射一個(gè)或多個(gè)簡(jiǎn)單的紋理時(shí),所述光柵化器可以僅僅在對(duì)應(yīng)于存儲(chǔ)有紋理的柵格的柵格中生成輸入坐標(biāo)。所述旁路裝置使光柵化器能直接向所述紋理信息單元提供紋理坐標(biāo)。所述旁路裝置例如可以是從光柵化器到紋理信息單元的獨(dú)立連接。換句話說(shuō),它例如可以是用于令后者在對(duì)應(yīng)于由光柵化器生成的柵格的柵格中進(jìn)行重新采樣的紋理空間重新采樣器模塊。
在如權(quán)利要求7所述的實(shí)施例中,光柵化柵格選擇單元經(jīng)由圖元選擇柵格。如果把任何非相關(guān)訪問(wèn)的2D紋理與所述圖元相關(guān)聯(lián),那么選擇單元從它們中選出具有最高分辯率的紋理映射(因此潛在地具有最高圖像頻率)。由于這種紋理不需要由紋理空間重新采樣器來(lái)重新采樣,所以這樣確保了最高的質(zhì)量。如果不存在適當(dāng)?shù)?D紋理映射,那么為光柵化器構(gòu)造經(jīng)由所述圖元的“虛擬”柵格以便遍歷,并且在其上執(zhí)行所述像素明暗處理。以這種方式,圖元受各式各樣的明暗處理方法(僅次于2D紋理的應(yīng)用)的支持,諸如采用簡(jiǎn)單的Gourraud明暗處理、程序性的明暗處理、1D紋理、3D紋理等等來(lái)明暗處理的圖元。
如權(quán)利要求8所述那樣,通過(guò)選擇在最高分辯率中可用的紋理柵格,當(dāng)對(duì)這種柵格重新采樣其他紋理數(shù)據(jù)時(shí),可獲得最優(yōu)質(zhì)量。
權(quán)利要求9的實(shí)施例具有如下好處,即采樣距離可以適應(yīng)于給出圖像質(zhì)量和計(jì)算簡(jiǎn)單性的最佳組合的值。在通過(guò)貼圖(mipmap)提供紋理數(shù)據(jù)的實(shí)施例中,這是尤其有益的??蛇x出與采樣舉例最匹配的所述貼圖部分。
本發(fā)明還包含用于再現(xiàn)如權(quán)利要求10所述的計(jì)算機(jī)圖形圖像的方法。
將參照附圖來(lái)更詳細(xì)地描述本發(fā)明的這些以及其他方面。其中圖1示意性地示出了現(xiàn)有技術(shù)的計(jì)算機(jī)圖形系統(tǒng),圖2示意性地示出了另一現(xiàn)有技術(shù)的計(jì)算機(jī)圖形系統(tǒng),圖3示意性地示出了通過(guò)組合圖1和2中示出的計(jì)算機(jī)圖形系統(tǒng)來(lái)構(gòu)造的計(jì)算機(jī)圖形系統(tǒng),圖4示意性地示出了依照本發(fā)明的圖形系統(tǒng),圖5更詳細(xì)地示出了圖4的計(jì)算機(jī)圖形系統(tǒng)的顏色生成單元,圖6示意性地示出了操作方法,圖7示意性地舉例說(shuō)明了所述操作的一個(gè)方面,圖8A示出了圖元的第一例子,圖8B示意性地舉例說(shuō)明了所述操作的另一方面,圖9示出了圖元的第二例子。
圖1示意性地示出了現(xiàn)有技術(shù)的計(jì)算機(jī)圖形系統(tǒng),其被設(shè)置為圖形流水線。已知的圖形流水線包括用于向光柵化器提供圖元的模型信息檢索單元MIU,例如包括頂點(diǎn)明暗處理器。每一圖元可以包括與諸如三角形之類的幾何單元相關(guān)聯(lián)的一組數(shù)據(jù)。所述數(shù)據(jù)包括幾何數(shù)據(jù)和外觀數(shù)據(jù),所述幾何數(shù)據(jù)例如三角形頂點(diǎn)的坐標(biāo)。所述模型信息檢索單元例如可以經(jīng)由OpenGL或者Direct3D API來(lái)編程。應(yīng)用程序設(shè)計(jì)員可以讓頂點(diǎn)明暗處理器在每一頂點(diǎn)執(zhí)行程序,并且向頂點(diǎn)明暗處理器提供幾何和外觀數(shù)據(jù),諸如每個(gè)頂點(diǎn)的位置、法線、顏色和紋理坐標(biāo)。常規(guī)的頂點(diǎn)明暗處理器的詳細(xì)說(shuō)明可以在2001年8月由ErickLindholm、Mark J.Kilgard和Henry Moreton發(fā)表的“Auser-programmable vertex engine”的Proc.Siggraph 149-158頁(yè)中找到。
所述光柵化器RU遍歷這些圖元來(lái)向明暗處理單元SU提供表示一個(gè)或多個(gè)相關(guān)聯(lián)的紋理映射內(nèi)的地址的信息。一個(gè)或多個(gè)紋理空間重新采樣器TSR隨后從光柵化器指明的地址獲得紋理數(shù)據(jù)。由紋理空間重新采樣器提供的顏色信息按照對(duì)應(yīng)于顯示它的空間、即顯示空間的柵格來(lái)對(duì)準(zhǔn)。所述明暗處理單元SU按照當(dāng)前明暗處理程序來(lái)組合所述顏色信息。此組合的結(jié)果要么用作為下一遍的紋理數(shù)據(jù)單元TDU中的地址,要么被轉(zhuǎn)送至邊緣圖形保真和隱藏面消除EAA & HSR子系統(tǒng)。通常,所述EAA & HSR子系統(tǒng)對(duì)邊緣圖形保真使用超采樣或者多次采樣,并且對(duì)隱藏面消除使用z緩沖器技術(shù)。通過(guò)EAA & HSR子系統(tǒng)提供的最終圖像被存儲(chǔ)在幀緩沖器FB中以便顯示。
圖2示意性地示出了按照上述的文章“Resample hardware for 3DGraphics”的計(jì)算機(jī)圖形系統(tǒng)的一部分。響應(yīng)于圖元的輸入流,光柵化器RU為紋理數(shù)據(jù)單元TDU生成紋理坐標(biāo)序列,并且把映射的重構(gòu)過(guò)濾器軌跡提供給顯示空間重新采樣器DSR,所述DSR用于對(duì)顯示空間重新采樣由紋理數(shù)據(jù)單元提供的紋理數(shù)據(jù)。所述紋理數(shù)據(jù)單元TDU可以經(jīng)由4D貼圖重構(gòu)單元3D>4D被耦合至所述顯示空間重新采樣器DSR。所述顯示空間重新采樣器DSR把像素?cái)?shù)據(jù)轉(zhuǎn)送至邊緣反混疊以及隱藏面消除單元EAA & HSR。
在圖1中示出的已知的計(jì)算機(jī)圖形系統(tǒng)中,TSR向所述明暗處理單元SU提供顯示空間中像素柵格上的顏色以及數(shù)據(jù)。隨后,把它們?cè)陲@示空間中組合。對(duì)圖2中的計(jì)算機(jī)圖形系統(tǒng)應(yīng)用此教導(dǎo),意味著所述明暗處理單元SU應(yīng)該被置于顯示空間重新采樣器DSR之后。這樣產(chǎn)生了圖3中所示的組合的體系結(jié)構(gòu)。
在圖3中示出的組合的體系結(jié)構(gòu)中,所述光柵化器RU控制非常簡(jiǎn)單的紋理提取單元。除紋理數(shù)據(jù)單元TDU之外,它可以包括簡(jiǎn)單的過(guò)濾器3D>4D以便根據(jù)存儲(chǔ)在紋理存儲(chǔ)器中的標(biāo)準(zhǔn)3D貼圖來(lái)即時(shí)地重構(gòu)4D貼圖紋理數(shù)據(jù),如PHNL010924中、作為IB02/05468提出的那樣。不需要執(zhí)行其他過(guò)濾來(lái)獲得由光柵化器遍歷的紋理柵格上的顏色。所述顯示空間重新采樣器DSR獲取這些顏色以及映射的紋理坐標(biāo),并且對(duì)顯示空間上的像素柵格重新采樣它們。對(duì)于每個(gè)紋理映射來(lái)說(shuō),這樣在顯示空間中提供了顏色“層”。所述明暗處理單元可以把所有層組合到最終像素片段中。實(shí)際上,這種方式導(dǎo)致了對(duì)像素明暗處理的每圖元多道紋理化方法。這樣做具有兩個(gè)主要缺點(diǎn)。
第一,所述顯示空間重新采樣器DSR依照對(duì)應(yīng)于所述紋理柵格的順序來(lái)遞送其紋理的像素片段顏色,并且由于此順序可以根據(jù)不同紋理映射而不同,所以在所述明暗處理單元SU可以組合來(lái)自于當(dāng)前層的顏色以前,需要緩沖器TMP來(lái)存儲(chǔ)來(lái)自于先前層的(組合)顏色。這樣導(dǎo)致以要求額外的存儲(chǔ)器帶寬的形式的開(kāi)銷?;谄戒伒脑佻F(xiàn)體系結(jié)構(gòu)可以減輕這種問(wèn)題,但是卻更加復(fù)雜。
第二,諸如于此的多道方式無(wú)法處理相關(guān)的紋理組構(gòu),并且這是當(dāng)今GPU的像素明暗處理單元中的極為重要的特性。
圖4示出了克服了這些缺點(diǎn)的依照本發(fā)明的計(jì)算機(jī)圖形系統(tǒng)的實(shí)施例。它包括模型信息提供單元MIU,可能包括可編程頂點(diǎn)明暗處理器,用于提供表示一組圖形圖元的信息。圖8A示意性地示出了具有三角形形式的圖元。與所述圖元相關(guān)聯(lián)的第一坐標(biāo)序列可以通過(guò)生成整數(shù)值對(duì)來(lái)生成,其中所述整數(shù)值對(duì)由三角形的坐標(biāo)(u1,v1)0、(u1,v1)1以及(u1,v1)2來(lái)限制。在其他實(shí)施例中,還可以使用任何的多邊形??梢允褂弥T如Bezier形狀的曲線圖元,而不是平面,如圖9所示。這種圖元可以僅僅通過(guò)一對(duì)參數(shù)來(lái)參數(shù)化并且具有這些參數(shù)的下限和上限值的邊界。圖9示出了通過(guò)四對(duì)坐標(biāo)限制的表面的例子。然而。表示貝齊爾三角的三對(duì)坐標(biāo)也足夠了。作為選擇,可以使用高于4的數(shù)目。紋理坐標(biāo)(u1,v1)0,(u1,v1)1,(u1,v1)2以及(u1,v1)3可以與每對(duì)邊界關(guān)聯(lián)。然后,類似地,與所述圖元相關(guān)聯(lián)的第一坐標(biāo)序列可以通過(guò)生成整數(shù)值對(duì)來(lái)被生成,其中所述整數(shù)值對(duì)通過(guò)所述紋理坐標(biāo)來(lái)限制。所述信息至少包括用于定義圖元形狀的幾何信息以及用于定義圖元外觀的外觀信息,所述幾何信息諸如是其頂點(diǎn)(未示出)的顯示坐標(biāo)。外觀信息可以包括例如具有紋理坐標(biāo)形式的紋理信息以及顏色信息,即漫射顏色和/或鏡面顏色。此外,霧顏色可用于模擬霧。舉例來(lái)說(shuō),示出與圖8A中的圖元頂點(diǎn)相關(guān)的第一以及第二紋理的坐標(biāo)。第一紋理T1的柵格作為基本柵格。用于第一紋理以及第二紋理的坐標(biāo)分別是(u1,v1)i以及(u2,v2)i,其中i是頂點(diǎn)的編號(hào)。此外,可以包括表示處于頂點(diǎn)位置的圖元的法線的信息。
模型信息提供單元是公知的。用于模型信息提供單元的可編程頂點(diǎn)明暗處理單元例如在上述提及的Lindholm等人的文章中更加詳細(xì)地描述了。所述模型信息提供單元MIU可以經(jīng)由OpenGL以及Direct3DAPI來(lái)編程。
依照本發(fā)明的計(jì)算機(jī)圖形系統(tǒng)還包括光柵化器(RU),其能夠生成用于編址第一紋理采樣的第一紋理采樣坐標(biāo)序列,其與和所述圖元相關(guān)聯(lián)的基本柵格相一致,此處相關(guān)聯(lián)的基本柵格是與第一紋理一致的柵格。它還能夠生成與第一序列相關(guān)聯(lián)的一個(gè)或多個(gè)內(nèi)插值序列,包括用于編址第二紋理采樣的第二坐標(biāo)序列。所述光柵化器RU還能夠按照虛擬柵格生成第一坐標(biāo)序列。這與沒(méi)有紋理與所述圖元相關(guān)聯(lián)的情況、或者如果所述紋理不適用于二維柵格的情況相關(guān)。這諸如是由1D模式描述的紋理的情況,其例如可以用來(lái)再現(xiàn)彩虹。另一例子是存為3D(體積的)模式的紋理。由于所述光柵化器為第一序列中的每個(gè)坐標(biāo)生成內(nèi)插值,所以一個(gè)或多個(gè)內(nèi)插值序列與第一坐標(biāo)序列相關(guān)聯(lián)。所述內(nèi)插值可以在生成第一坐標(biāo)序列的同時(shí)被生成,但是作為選擇,也可以在之后生成。
這種光柵化器是公知的。在Proceedings of Graphics Hardware2000中由B.Barenbrug以及其他人提出的“Algorithms for DivisionFree Perspective Correct Rendering”的第7-13頁(yè)中給出了光柵化器的詳細(xì)說(shuō)明。
依照本發(fā)明的計(jì)算機(jī)圖形系統(tǒng)還包括顏色生成器,用于使用與所述圖元相關(guān)的所述外觀信息來(lái)把顏色指定給所述第一坐標(biāo)序列。所述顏色生成器CG包括用于把紋理數(shù)據(jù)指定給紋理采樣坐標(biāo)的紋理數(shù)據(jù)單元TDU。所述紋理數(shù)據(jù)單元TDU例如是紋理合成器,其合成每一坐標(biāo)的紋理值。換句話說(shuō),其可以是其中用于存儲(chǔ)預(yù)定義紋理的存儲(chǔ)器。所述紋理可以被依照壓縮格式來(lái)存儲(chǔ)。所述存儲(chǔ)器還可以包含以不同比例存儲(chǔ)的紋理的多拷貝。用于實(shí)現(xiàn)此操作的已知方法例如是3D以及4D貼圖。
所述顏色生成器CG還包括紋理空間重新采樣器TSR(圖5中更詳細(xì)地示出),其被設(shè)置為用于響應(yīng)由明暗處理單元SU提供的紋理采樣坐標(biāo)uf,vf來(lái)提供輸出紋理數(shù)據(jù)TWu,v。為了提供輸出紋理數(shù)據(jù)TWu,v,它生成紋理采樣坐標(biāo)(ui,vi),該坐標(biāo)與第二紋理T2的柵格對(duì)準(zhǔn)。隨后,它從位于那些坐標(biāo)的第二紋理T2提取數(shù)據(jù)Tu,v,并且對(duì)第一紋理T1的柵格重新采樣提取的紋理數(shù)據(jù)Tu,v。以這種方式,無(wú)法共享同一柵格的紋理映射可以被組合。與根據(jù)現(xiàn)有技術(shù)獲知的紋理空間重新采樣器TSR相反,本發(fā)明的計(jì)算機(jī)圖形系統(tǒng)中的紋理空間重新采樣器TSR是利用對(duì)應(yīng)于第一紋理上的柵格位置的坐標(biāo)來(lái)被驅(qū)動(dòng)的,而不是利用對(duì)應(yīng)于顯示空間上的柵格位置的柵格位置來(lái)被驅(qū)動(dòng)的。
實(shí)際上,例如8或者更多的任何紋理映射數(shù)目都可以用來(lái)定義圖元的外觀。這些紋理映射可以被順序地重新采樣,但是作為選擇,所述顏色生成器可以具有一個(gè)以上的紋理空間重新采樣器以及一個(gè)以上的紋理數(shù)據(jù)單元,以便加速重新采樣過(guò)程。
所述顏色生成器CG還包括明暗處理單元SU,用于使用所述輸出紋理數(shù)據(jù)以及由所述光柵化器提供的外觀信息來(lái)提供顏色。除紋理數(shù)據(jù)之外,所述明暗處理單元可以使用各種數(shù)據(jù)來(lái)提供顏色,諸如內(nèi)插漫射顏色以及法線來(lái)計(jì)算鏡面反射的作用。
隨后,所述顯示空間重新采樣器DSR對(duì)與所述顯示空間相關(guān)聯(lián)的柵格中的表示重新采樣由顏色生成器指定的顏色。用于把顏色向前映射至顯示柵格的這種過(guò)程最好分兩遍來(lái)執(zhí)行,其中在它們彼此沿相互橫切方向之后執(zhí)行兩次1D過(guò)濾操作。然而作為選擇,至顯示坐標(biāo)的映射可以在單次2D過(guò)濾操作中進(jìn)行。在前述的文章“Resamplehardware for 3D Graphics”中詳細(xì)說(shuō)明了向前映射彩色數(shù)據(jù)。
由顯示空間重新采樣器DSR提供的數(shù)據(jù)通過(guò)圖形保真以及隱藏面消除單元EAA & HSR來(lái)處理。其詳細(xì)內(nèi)容可以在申請(qǐng)?zhí)枮镋P02075420.6的早先提交的專利申請(qǐng)PHN020100中找到。此單元的輸出數(shù)據(jù)可以被提供至幀緩沖器以便顯示,或者由短劃線表示,被提供至紋理數(shù)據(jù)單元TDU以便后期使用。
圖5還示出了依照本發(fā)明的計(jì)算機(jī)圖形系統(tǒng)的光柵化器RU以及紋理數(shù)據(jù)單元TDU,并且更詳細(xì)地示出了紋理空間重新采樣器TSR以及明暗處理單元SU。
在圖5中示出的實(shí)施例中,所述紋理空間重新采樣器TSR包括柵格坐標(biāo)生成器GCG,用于根據(jù)坐標(biāo)(uf,uf)生成整數(shù)坐標(biāo)(ui,vi)。雖然在所示出的實(shí)施例中,所述紋理通過(guò)二維坐標(biāo)來(lái)編址,但是作為選擇,能夠使用更高維數(shù)的坐標(biāo)或者一維坐標(biāo)來(lái)編址。由選擇信號(hào)Sel控制的選擇元件S1允許把坐標(biāo)(uf,vf)不變地轉(zhuǎn)送至紋理數(shù)據(jù)單元TDU,或者允許選擇重新采樣的坐標(biāo)(ui,vi)。
所述光柵化器RU被設(shè)置為用于在基本柵格上生成規(guī)則的坐標(biāo)序列(u1,v1)。由此序列遍歷的范圍是通過(guò)與所述圖元相關(guān)聯(lián)的數(shù)據(jù)來(lái)加以確定的。為此,所述紋理數(shù)據(jù)單元TDU經(jīng)由明暗處理單元SU的選擇元件S3并且經(jīng)由紋理空間重新采樣器TSR的選擇元件S1被耦合至光柵化器RU。
所述光柵化器RU包括光柵化柵格選擇單元RGSU,用于選擇將由第一坐標(biāo)序列(u1,v1)遍歷的基本柵格。
所述基本柵格最好是其它紋理T1的柵格。特別的是,當(dāng)兩個(gè)或更多紋理T1、T2與所述圖元相關(guān)聯(lián)時(shí),所述光柵化柵格選擇單元RGSU選擇在最高分辨率有效的相關(guān)紋理T1的柵格。
然而,如果沒(méi)有適當(dāng)?shù)募y理是可用的,那么把虛擬柵格選為基本柵格。所述光柵化器RU能夠使采樣距離逐步適應(yīng)為在與圖元相關(guān)聯(lián)的空間和與顯示相關(guān)聯(lián)的空間之間關(guān)系的函數(shù)。它是這樣一種情況,其中紋理依照3D或者4D貼圖的形式被存儲(chǔ),并且透視映射令紋理放大率改變。
所述光柵化器RU還被設(shè)置為內(nèi)插與所述圖元相關(guān)的其他數(shù)據(jù),諸如一個(gè)或多個(gè)其它紋理的坐標(biāo)。所述光柵化器RU向紋理空間重新采樣器TSR提供內(nèi)插的其它紋理坐標(biāo)(u2,v2)。如果這些內(nèi)插的其它紋理坐標(biāo)與第二紋理T2的柵格相一致,那么這些坐標(biāo)可以經(jīng)由選擇元件S3和S1被傳遞至紋理數(shù)據(jù)單元TDU。然而如果其它紋理坐標(biāo)(u2,v2)不一致,那么通過(guò)柵格坐標(biāo)生成器GCG來(lái)計(jì)算與所述紋理柵格一致的整數(shù)值(ui,vi)。這些內(nèi)容在圖8B中示意性地示出了。然后,選擇元件S1選擇重新采樣的紋理坐標(biāo)(ui,vi)作為用于編址紋理數(shù)據(jù)單元TDU的坐標(biāo)。如圖8B所示,所述坐標(biāo)(u2,v2)由第二紋理的4個(gè)采樣a-d來(lái)圍繞。所述紋理空間重新采樣器TSR從柵格坐標(biāo)生成器GCG提供的坐標(biāo)中提取第二紋理T2的相應(yīng)紋理數(shù)據(jù),并且所述過(guò)濾器FLT對(duì)第一紋理T1的柵格重新采樣這些數(shù)據(jù)。重新采樣可以通過(guò)最近鄰近似法來(lái)進(jìn)行,在這種情況下,所述過(guò)濾器FLT僅僅傳遞由TDU生成的一個(gè)值Tuv作為最接近的紋理坐標(biāo)ui,vi產(chǎn)生的結(jié)果,其中由GCG生成作為輸出紋理值的TWu,v的所述最接近的紋理坐標(biāo)ui,vi。作為選擇,所述過(guò)濾器可以令選擇元件S2通過(guò)選擇由紋理數(shù)據(jù)單元TDU提供的紋理數(shù)據(jù)Tu,v而不是過(guò)濾器FLT的輸出來(lái)執(zhí)行此功能。作為選擇,重新采樣可以通過(guò)內(nèi)插,例如通過(guò)雙線性插值來(lái)進(jìn)行。當(dāng)使用內(nèi)插時(shí),編址的紋理數(shù)據(jù)Tu,v通過(guò)過(guò)濾器FLT來(lái)加權(quán),其中所述過(guò)濾器FLT由柵格坐標(biāo)生成器GCG來(lái)控制。通過(guò)過(guò)濾器FLT計(jì)算的值經(jīng)由選擇元件S2被提供給明暗處理單元SU以便作為輸出紋理值TWu,v。此模式被稱為雙線性過(guò)濾。應(yīng)注意的是,所述紋理空間重新采樣器TSR可以基于更多的輸出坐標(biāo)(ui,vi)來(lái)計(jì)算輸出紋理值TWu,v。
實(shí)際上,紋理數(shù)據(jù)往往依照3D貼圖的形式來(lái)存儲(chǔ)。這樣做可能會(huì)產(chǎn)生如下的結(jié)果,即無(wú)法找到與紋理柵格相一致的采樣坐標(biāo)序列。然而,在以IB02/05468提交的PHNL010924中描述了一種方法,該方法能夠根據(jù)3D貼圖即時(shí)地計(jì)算4D貼圖。也根據(jù)雙線性插值的這種計(jì)算可以通過(guò)紋理空間重新采樣器TSR來(lái)執(zhí)行。
所述光柵化器RU還向明暗處理單元SU提供內(nèi)插的顏色值Cip以及內(nèi)插的法線值Nip。
如圖所示,除選擇元件S3之外,所述明暗處理單元包括明暗處理模塊SH以及可編程序控制器CTRL。如通過(guò)短劃線所示那樣,所述控制器CTRL控制開(kāi)關(guān)S1、S2以及S3以及明暗處理模塊SH。
所述明暗處理模塊SH能夠響應(yīng)于多個(gè)輸入數(shù)據(jù)來(lái)計(jì)算顏色Cu,v,所述輸入數(shù)據(jù)諸如是來(lái)自于光柵化器的內(nèi)插法線Nip以及內(nèi)插顏色值Cip,以及由紋理空間重新采樣器TSR提供的紋理數(shù)據(jù)TWu,v,以及環(huán)境數(shù)據(jù)(諸如與位置、亮度屬性有關(guān)的信息)。為此,所述明暗處理模塊SH可以使用公知的明暗處理函數(shù),諸如Phong明暗處理。
例如在proceedings Siggraph(1998年7月)中由M.Olano以及A.Lastra提出的“The PixelFlow Shading System,a shading languageon graphics hardware”的第159-168頁(yè)中描述了明暗處理方法。還可以參見(jiàn)2001年出版的Microsoft Developer’sNetwork Library的Microsoft DirectX Graphics Programmers Guide,DirectX 8.1版本,并且可以參見(jiàn)2002年在Massachusetts出版的由M.Olano、J.C.Hart、W.Heidrich、M.McCool、A K Peters、Natick撰寫(xiě)的書(shū)“Real-Time Shading”。
所述明暗處理單元SU向顯示空間重新采樣器DSR提供輸出顏色值Cu,v,所述顯示空間重新采樣器DSR用于對(duì)推導(dǎo)的顯示坐標(biāo)重新采樣此值。為此,所述光柵化器RU可以提供顯示坐標(biāo)的內(nèi)插值。
如圖5所示,所述明暗處理模塊SH的輸出經(jīng)由開(kāi)關(guān)元件S3被耦合至紋理空間重新采樣器TSR。
通過(guò)重新使用輸出紋理值TWu,v來(lái)生成另一紋理坐標(biāo),例如把這些輸出紋理值TWu,v添加至輸入坐標(biāo)(ut,vt)或者通過(guò)使用直接作為反饋?zhàn)鴺?biāo)(uf,vf)的這些輸出紋理值TWu,v,所述反饋設(shè)施能夠進(jìn)行諸如凹凸環(huán)境映射的特殊效應(yīng)。通常,這些反饋?zhàn)鴺?biāo)不與所述柵格對(duì)準(zhǔn)。所述柵格坐標(biāo)生成器GCG根據(jù)坐標(biāo)(uf,vf)生成紋理柵格對(duì)準(zhǔn)值(ui,vi)。
在圖6的流程圖中示意地舉例說(shuō)明了用于再現(xiàn)依照本發(fā)明的計(jì)算機(jī)圖形圖像的方法。如圖所示,所述方法包括如下步驟。
在步驟S1,提供表示包括一組圖元的圖形模型的信息。所述信息至少包括表示圖元形狀的幾何信息以及表示圖元外觀的外觀信息。
在步驟S2,生成與基本柵格相一致的第一坐標(biāo)序列,其中所述基本柵格與所述圖元相關(guān)聯(lián)。
在步驟S3,生成一個(gè)或多個(gè)內(nèi)插值序列,其與第一序列相關(guān)聯(lián),并且其包括用于編址紋理采樣的第二坐標(biāo)序列。如流程圖中所示那樣,步驟S3可以在步驟S2之后被執(zhí)行,但是作為選擇,可以與步驟S2并行執(zhí)行。所述基本柵格可以是虛擬柵格,或者是其它紋理的柵格。
在步驟S4,通過(guò)生成與來(lái)自于第二序列的紋理對(duì)準(zhǔn)的坐標(biāo)、提取位于那些坐標(biāo)的紋理數(shù)據(jù)并且提供作為所提取的數(shù)據(jù)函數(shù)的輸出數(shù)據(jù)來(lái)獲得與所述基本柵格對(duì)準(zhǔn)的輸出紋理數(shù)據(jù)。
在步驟S5,使用所述輸出紋理數(shù)據(jù)和外觀信息來(lái)提供顏色。
在步驟S6,對(duì)與顯示相關(guān)聯(lián)的柵格中的表示重新采樣如此獲得的顏色。
參照?qǐng)D7的流程圖更詳細(xì)地描述了顏色生成器的操作。在步驟S11,確定圖元外觀是否通過(guò)兩個(gè)或更多紋理來(lái)被確定。如果是這樣,那么在步驟S12把紋理計(jì)數(shù)器i初始化為0。
然后在步驟S13,驗(yàn)證當(dāng)前紋理i的柵格是否與紋理采樣坐標(biāo)的序列遍歷的柵格相一致。如果是這樣,那么程序流程繼續(xù)步驟S14,并且提取位于該坐標(biāo)的紋理采樣Tu,v。如果所述紋理柵格i不與紋理采樣坐標(biāo)序列相一致,那么在步驟S15通過(guò)重新采樣例程來(lái)獲得紋理采樣TWu,v,其使用過(guò)濾器(諸如雙線性探測(cè)器或者高階過(guò)濾器)來(lái)根據(jù)圍繞紋理采樣坐標(biāo)的紋理值獲得內(nèi)插紋理值。作為選擇,它可以僅僅獲得處于紋理i的最接近柵格點(diǎn)的紋理值Tu,v。步驟S15可以包括使用早先計(jì)算的紋理數(shù)據(jù)和/或使用其他當(dāng)前可用的明暗處理數(shù)據(jù)來(lái)生成或者修改采樣坐標(biāo),所述其他當(dāng)前可利用數(shù)據(jù)諸如是內(nèi)插顏色Cip以及內(nèi)插法線Nip。以這種方式,可以獲得諸如凹凸環(huán)境映射的相關(guān)紋理化效應(yīng)。
步驟S14或者步驟S15之后,程序流程繼續(xù)步驟S16,其中把諸如內(nèi)插顏色Cip、內(nèi)插法線Nip以及紋理數(shù)據(jù)的當(dāng)前可用的明暗處理數(shù)據(jù)加以組合。
步驟S16跟隨有步驟S17,其中驗(yàn)證是否存在與所述圖元相關(guān)聯(lián)的其它紋理。如果是這樣的話,所述紋理計(jì)數(shù)器被增加,并且步驟S13直到步驟S17被重復(fù)。如果在步驟S17確定最后的紋理被處理,那么使用紋理值TWu,v、內(nèi)插顏色Cip以及諸如內(nèi)插法線Nip的其他數(shù)據(jù)來(lái)計(jì)算組合的顏色。
在已經(jīng)處理了所述圖元的最后紋理之后,把計(jì)算的顏色值Cu,v作為下一處理階段的輸入值用于步驟S18,例如用于轉(zhuǎn)發(fā)過(guò)濾操作,該操作用于依照?qǐng)D4的描述對(duì)顯示坐標(biāo)重新采樣所計(jì)算的顏色值。轉(zhuǎn)發(fā)過(guò)濾操作之前或之后,可以執(zhí)行一個(gè)或多個(gè)其他處理步驟,諸如阿爾法-測(cè)試、深度測(cè)試以及模版測(cè)試過(guò)程。
如果在步驟S11確定圖元的外觀被確定為小于兩個(gè)紋理,那么執(zhí)行步驟S19。步驟S19驗(yàn)證是否僅存在一個(gè)紋理。如果是這樣,那么在步驟S20檢索當(dāng)前采樣坐標(biāo)的紋理值。當(dāng)采樣坐標(biāo)與所述紋理柵格相一致時(shí),此步驟S20可以直接地檢索紋理采樣,如在步驟S14那樣?;蛘?,如果采樣坐標(biāo)不與紋理柵格相一致,那么它可以類似于步驟S15的過(guò)程來(lái)計(jì)算紋理值。隨后,程序流程繼續(xù)步驟S21。如果在步驟S19確定沒(méi)有紋理與所述圖元相關(guān)聯(lián),那么控制流直接繼續(xù)步驟S21。在步驟S21,可以例如使用漫射顏色Cip以及內(nèi)插法線Nip進(jìn)行其它顏色計(jì)算,其后是步驟S18。
權(quán)利要求
1.計(jì)算機(jī)圖形系統(tǒng),包括模型信息提供單元(MIU),用于提供表示一組圖形圖元的信息,所述信息至少包括用于定義圖元形狀的幾何信息以及用于定義圖元外觀的外觀信息,光柵化器(RU),能夠生成第一坐標(biāo)序列((u1,v1)),所述第一坐標(biāo)序列與和所述圖元相關(guān)聯(lián)的基本柵格相一致,并且能夠生成與第一序列相關(guān)聯(lián)的一個(gè)或多個(gè)內(nèi)插值序列,包括用于編址紋理(T2)采樣的第二坐標(biāo)序列(u2,v2)),顏色生成器,用于使用所述外觀信息為所述第一坐標(biāo)序列指定顏色(Cu,v),所述顏色生成器包括紋理數(shù)據(jù)單元(TDU),用于為所述紋理坐標(biāo)指定紋理數(shù)據(jù)(Tu,v),以及紋理空間重新采樣器(TSR),被設(shè)置為用于通過(guò)根據(jù)第二坐標(biāo)序列生成與紋理(T2)柵格對(duì)準(zhǔn)的紋理坐標(biāo)、從處于所生成的紋理坐標(biāo)的紋理(T2)提取數(shù)據(jù)并且對(duì)基本柵格重新采樣提取的紋理數(shù)據(jù)(Tu,v),來(lái)提供輸出紋理數(shù)據(jù)(TWu,v)。明暗處理單元(SU),能夠使用所述輸出紋理數(shù)據(jù)和由所述光柵化器提供的外觀信息來(lái)提供顏色(Cu,v),顯示空間重新采樣器(DSR),用于對(duì)與顯示空間相關(guān)聯(lián)的柵格中的表示重新采樣由顏色生成器在基本柵格中指定的顏色(Cu,v)。
2.計(jì)算機(jī)圖形系統(tǒng),其中所述基本柵格是其它紋理(T1)的柵格。
3.計(jì)算機(jī)圖形系統(tǒng),其中所述基本柵格是虛擬柵格。
4.如權(quán)利要求1所述的計(jì)算機(jī)圖形系統(tǒng),其特征在于,所述光柵化器(RU)還被設(shè)置為用于在與第一紋理坐標(biāo)((u1,v1))序列相關(guān)聯(lián)的顯示空間中生成坐標(biāo)序列。
5.如權(quán)利要求1所述的計(jì)算機(jī)圖形系統(tǒng),其特征在于反饋設(shè)施(SH,S3,ICG,S1)用于響應(yīng)于輸出紋理數(shù)據(jù)(TWu,v)向紋理空間重新采樣器(TSR)提供其它紋理坐標(biāo)(uf,vf)。
6.如權(quán)利要求1所述的計(jì)算機(jī)圖形系統(tǒng),其特征在于旁路設(shè)施(S3,S1)用于使光柵化器(RU)能直接向紋理數(shù)據(jù)單元(TDU)提供紋理坐標(biāo)((u1,v1))。
7.如權(quán)利要求1所述的計(jì)算機(jī)圖形系統(tǒng),其特征在于,所述光柵化器(RU)包括光柵化柵格選擇單元(RGSU),用于選擇將由第一紋理坐標(biāo)((u1,v1))序列遍歷的柵格。
8.如權(quán)利要求7所述的計(jì)算機(jī)圖形系統(tǒng),其特征在于,其中兩個(gè)或更多紋理(T1,T2)與所述圖元相關(guān)聯(lián),所述光柵化柵格選擇單元(RGSU)選擇在最高分辯率可用的相關(guān)紋理(T1)的柵格。
9.如權(quán)利要求1所述的計(jì)算機(jī)圖形系統(tǒng),其特征在于,所述光柵化器(RU)能夠使采樣距離逐步適應(yīng)為在與圖元相關(guān)聯(lián)的空間和與顯示相關(guān)聯(lián)的空間之間關(guān)系的函數(shù)。
10.用于再現(xiàn)計(jì)算機(jī)圖形圖像的方法,包括以下步驟提供表示包括一組圖元的圖形模型的信息,所述信息至少包括表示圖元形狀的幾何信息以及表示圖元外觀的外觀信息,生成與基本柵格相一致的第一坐標(biāo)序列,生成與第一序列相關(guān)聯(lián)的一個(gè)或多個(gè)內(nèi)插值序列,包括用于編址紋理采樣的紋理坐標(biāo)序列,提供與所述基本柵格對(duì)準(zhǔn)的輸出紋理數(shù)據(jù),這是通過(guò)如下步驟實(shí)現(xiàn)的根據(jù)第二序列生成與所述紋理對(duì)準(zhǔn)的紋理坐標(biāo),提取處于所生成的紋理坐標(biāo)的紋理的數(shù)據(jù),并且提供與作為所提取的數(shù)據(jù)函數(shù)的輸出紋理數(shù)據(jù),使用所述輸出紋理數(shù)據(jù)以及外觀信息來(lái)提供顏色,對(duì)與顯示相關(guān)聯(lián)的柵格中的表示重新采樣如此獲得的顏色。
全文摘要
依照本發(fā)明的計(jì)算機(jī)圖形系統(tǒng)包括模型信息提供單元(MIU)、光柵化器(RU)、顏色生成器以及顯示空間重新采樣器(DSR)。所述模型信息提供單元(MIU)提供表示一組圖形圖元的信息,所述信息至少包括用于定義圖元形狀的幾何信息以及用于定義圖元外觀的外觀信息。所述光柵化器(RU)能夠生成第一坐標(biāo)序列((u
文檔編號(hào)G06T15/00GK1748230SQ200480004093
公開(kāi)日2006年3月15日 申請(qǐng)日期2004年2月2日 優(yōu)先權(quán)日2003年2月13日
發(fā)明者B·G·B·巴倫布魯格, K·梅恩德斯 申請(qǐng)人:皇家飛利浦電子股份有限公司