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

圖形硬件中的紋理化的制作方法

文檔序號:6495126閱讀:211來源:國知局
圖形硬件中的紋理化的制作方法
【專利摘要】公開了使用紋理映射來渲染計算機圖形的方法、系統(tǒng)和設(shè)備。具有不同的數(shù)據(jù)類型(諸如RGB顏色的整數(shù)數(shù)據(jù)類型和XYZ法向量分量的浮點數(shù)據(jù)類型的混合)的多個紋理映射被作為一個紋理映射組傳遞到圖形處理單元(GPU)。在不同的紋理映射之間重復(fù)使用濾波器參數(shù)和其它內(nèi)插參數(shù)。用戶可指定多個以整數(shù)和浮點為基礎(chǔ)的通道來供GPU同時處理,從而定制紋理組結(jié)構(gòu)。
【專利說明】圖形硬件中的紋理化
[0001]相關(guān)申請案的交叉引用
[0002]本申請是2011年5月2日提交的美國申請N0.13/099, 281的繼續(xù)并請求所述申請的權(quán)益,所述申請為達所有目的以引用的方式在此全文并入。
【技術(shù)領(lǐng)域】
[0003]本發(fā)明的實施方案一般涉及計算機圖形處理系統(tǒng),且更具體說來,涉及接受并處理作為相關(guān)單組的多個不同類型的紋理映射用于三維場景的圖形處理單元(GPU)。
【背景技術(shù)】
[0004]現(xiàn)代視頻游戲中的三維(3D或3-D)模型使用多個紋理以在3D場景中接近逼真的外觀。有時稱為紋理映射的紋理,通常是顏色、透明度、材料特性、表面取向或可被數(shù)字環(huán)繞或以其它方式映射到3D對象的其它特征的表格。在視頻游戲中,用于3D模型的紋理常包括漫射顏色紋理、鏡面(閃亮)顔色紋理、法線映射、透明映射、材料指數(shù)等。通過把合適的紋理存儲在存儲器中并把到存儲器的地址傳給圖形處理器單元(GPU),這些紋理被一次ー個應(yīng)用到3D模型。
[0005]圖1示出使用圖形處理器來把紋理應(yīng)用到圖像的現(xiàn)有技術(shù)系統(tǒng)。在系統(tǒng)100中,三維模型101存儲在存儲器中以供GPU113處理。包括紅色(R)通道映射102、綠色(G)通道映射103和藍色(B)通道映射104的紋理映射105存儲在存儲器中供應(yīng)用到模型上。
[0006]每個通道映射是碰巧具有支持內(nèi)插和過濾的硬件的一般的N維表格。通道映射可取決于應(yīng)用而基于整數(shù)或基于浮點。例如,漫射紋理映射105基于整數(shù),其中所有數(shù)據(jù)都是整數(shù)數(shù)據(jù)類型109。漫射映射的代表紅色、緑色和藍色分量的每個紋理元素R、G和B具有三個整數(shù)值。每個紋理元素的三個整數(shù)值在存儲器中彼此跟隨,即,交錯。即,表格中的值存儲為RGB、RGB、RGB等。每個8位整數(shù)代表一定量的紅色且是0到255之間且包括0和255的允許值。加上G和B通道,RGB紋理映射105表示的顏色的數(shù)量是256x256x256?=超過1600萬種顏色。在替代格式中,另外的a A (透明)通道有時與RGB值交錯用于“RGBA”格式的紋理元素。S卩,表格中的值存儲為RGBA、RGBA、RGBA等。這允許對于8位通道紋理進行紋理元素的4字節(jié)存儲器對齊。如果a通道在替換格式中未使用,那么它有時浪費并稱作“RGBX”格式。在示例性實施方案中,紋理映射105的存儲器地址作為函數(shù)中的參數(shù)發(fā)送到GPU以映射到3D對象。
[0007]在把漫射顏色紋理映射105的顏色應(yīng)用到3D模型101之后,控制被從GPU113返回到渲染應(yīng)用(即,GPU的“用戶”)。渲染應(yīng)用然后把鏡面(即,閃亮)顏色RGB紋理映射106傳到GPU113,其中圖像(的地址)存儲第一步驟的結(jié)果。與漫射顏色紋理映射105相同,鏡面顏色紋理映射106也是包括三個通道RGB的基于整數(shù)的紋理映射。鏡面顏色應(yīng)用到3D模型以更新圖像。
[0008]在漫射和鏡面顏色紋理應(yīng)用到3D模型之后,法線映射可用以更新圖像。光源與表面直接垂直(即,正交)中的表面與光源和表面成角度中的表面不同地照亮。類似地,相對于虛擬攝像機的位置與表面成入射余角的光源不同地照亮。
[0009]法線映射107作為參數(shù)傳遞到GPU113。法線映射107基于浮點,由用于它表格中的所有數(shù)據(jù)的浮點數(shù)據(jù)類型110表示。它的X、Y和Z表格中的每個浮點數(shù)代表空間方向。X通道映射是ニ維浮點數(shù)數(shù)組。每個32位帶符號浮點數(shù)代表在X方向上単位向量傾斜的幅度,即,単位向量的X分量。Y和Z通道分別代表単位向量的Y和Z分量。每個數(shù)組的存儲器地址被作為參數(shù)發(fā)送到GPU以進行處理來更新圖像。
[0010]在使用法線映射更新照明之后,應(yīng)用透明/不透明度。透明映射108是基于整數(shù)的紋理映射,用有時稱為“a通道”的單通道表示。a通道是ー維、ニ維整數(shù)數(shù)組。整數(shù)越大就越不透明。所述值通常代表‘ー減’透明度。
[0011]在把四個紋理映射應(yīng)用到3D模型之后,看起來相對真實的圖像準備好在視頻游戲、計算機輔助設(shè)計(CAD)圖像或其它三維虛擬環(huán)境中呈現(xiàn)給終端用戶。圖像111是紋理映射的GPU應(yīng)用的結(jié)果。
[0012]在其它現(xiàn)有技術(shù)方法中,中央處理單元(CPU)把所有紋理的地址傳遞到GPU、指定用于GPU的著色器代碼和幾何構(gòu)形,并然后把控制移交到GPU。GPU繪制幾何構(gòu)形,從而應(yīng)用指定著色器用于覆蓋該幾何構(gòu)形的每個像素。著色器訪問作為具有內(nèi)插支持的可應(yīng)用數(shù)組類型(例如,ー維、ニ維或三維數(shù)組)的局部變量的紋理。著色器使用這些紋理來產(chǎn)生成品,甚至多次應(yīng)用紋理的ー個或更多個通道。例如,著色器可把漫射通道的R分量再使用為反射率值。然而,紋理內(nèi)插被浪費地重復(fù)幾次。
[0013]盡管在過去的數(shù)十年中尤其是在大量生產(chǎn)、消費者級別視頻游戲硬件中圖形處理器和渲染技術(shù)的改善突飛猛進,但是本領(lǐng)域中永遠存在對更快速和更有效的3D渲染的需要。

【發(fā)明內(nèi)容】

[0014]一般描述了用于組合一個紋理組中不同類型的紋理并然后使用過濾和內(nèi)插參數(shù)來進行紋理元素到像素的映射以便過濾且內(nèi)插不同類型的紋理的系統(tǒng)、設(shè)備和方法。映射允許以比現(xiàn)有技術(shù)開銷小來在像素或其它輸出點渲染適當(dāng)?shù)念喩?。?dǎo)致來自紋理元素或多個紋理元素的潛在混合值的采樣的內(nèi)插參數(shù)被計算一次,并然后再使用于多個紋理。使用相同的內(nèi)插參數(shù)來應(yīng)用有具有完全不同含義且用于不同目的(諸如顔色紋理和法線映射)的數(shù)據(jù)的紋理。內(nèi)插參數(shù)可在基于整數(shù)的顔色紋理映射和浮點法線映射之間再使用。
[0015]當(dāng)接ロ允許不同的紋理映射在一個調(diào)用中作為參數(shù)傳遞到GPU時,可在硬件中再使用內(nèi)插參數(shù)。例如,包括漫射RGB (3)、鏡面RGB (3)、法線映射XYZ (3)和透明(I)紋理映射的十通道紋理組可用ー個函數(shù)調(diào)用傳遞給GPU,且GPU可一次處理它們以渲染圖像。
[0016]本文的方法與可使用不同的紋理來消除濾波器參數(shù)確定和基于內(nèi)插的其它技術(shù)的開銷的延遲渲染兼容。除了更好地支持延遲渲染,多通道通道紋理可允許更好地支持預(yù)先計算的輻射傳輸和光譜渲染。允許紋理的數(shù)量和數(shù)據(jù)類型由用戶指定(例如,每像素兩個整數(shù)和三個浮點值)的靈活類型緩沖區(qū)可允許更多的靈活性。
[0017]本公開的ー些實施方案針對ー種在圖形處理單元(GPU)中進行圖形處理的方法。該方法包括:接收具有第一原語數(shù)據(jù)類型的紋理元素的第一紋理;接收具有第二原語數(shù)據(jù)類型的紋理元素的第二紋理,第一和第二原語數(shù)據(jù)類型彼此不同;使用可操作地與存儲器耦合的至少ー個處理器來確定第一紋理中第一數(shù)據(jù)類型的紋理元素的內(nèi)插參數(shù)以映射到圖像的像素,該圖像代表三維場景;和使用為第一紋理確定的內(nèi)插參數(shù)來把第二紋理中第ニ數(shù)據(jù)類型的紋理元素應(yīng)用到該像素。
[0018]一些實施方案針對ー種在GPU中進行圖形處理的方法。該方法包括:接收限定三維模型的外觀的紋理組,該紋理組具有基于ー個原語數(shù)據(jù)類型與另ー個原語數(shù)據(jù)類型彼此不同的原語數(shù)據(jù)類型的紋理;使用可操作地與存儲器耦合的至少ー個處理器來為紋理映射中ー個的紋理元素位置確定用于三維模型上一部分的內(nèi)插參數(shù);和使用所確定的內(nèi)插參數(shù)來執(zhí)行對其它紋理映射中對應(yīng)的紋理元素的處理,從而對不同原語數(shù)據(jù)類型的紋理使用所確定的內(nèi)插參數(shù)。
[0019]該方法可包括:從用戶接收指示多個基于整數(shù)的紋理映射的第一數(shù)字;從用戶接收指示多個基于浮點的紋理映射的第二數(shù)字;和使用從該用戶接收的第一和第二數(shù)字來為紋理組配置圖形存儲器空間。
[0020]一些實施方案針對ー種在GPU中延遲渲染的方法。該方法包括:把基于浮點的法向量紋理和基于整數(shù)的材料指數(shù)存儲到單個目標g_緩沖區(qū)用于代表三維場景的整個圖像;把g_緩沖區(qū)作為紋理參數(shù)傳遞到片段程序用于整個圖像;和使用可操作地與存儲器耦合的至少ー個處理器來確定使用g_緩沖區(qū)和片段程序?qū)υ搱D像的著色。
[0021]其它實施方案涉及使用或存儲用于上述方法的指令的機器可讀有形存儲媒體和計算機系統(tǒng)。
[0022]對本文公開并建議的實施方案的本質(zhì)和優(yōu)勢的進一歩理解可參看說明書的剩余部分和附圖來實現(xiàn)。
【專利附圖】

【附圖說明】
[0023]圖1示出使用圖形處理器來把紋理應(yīng)用到圖像的現(xiàn)有技術(shù)系統(tǒng)。
[0024]圖2示出根據(jù)實施方案使用圖形處理器來把紋理應(yīng)用到圖像的系統(tǒng)。
[0025]圖3示出根據(jù)實施方案的具有整數(shù)數(shù)據(jù)類型的紋理元素的四邊形。
[0026]圖4示出根據(jù)實施方案的具有浮點數(shù)據(jù)類型的紋理元素的四邊形。
[0027]圖5示出根據(jù)實施方案的mipmap。
[0028]圖6示出根據(jù)實施方案的三維模型。
[0029]圖7示出根據(jù)實施方案的紋理映射。
[0030]圖8示出根據(jù)實施方案的圖7的紋理映射應(yīng)用到圖6的三維模型。
[0031]圖9是根據(jù)實施方案的過程的流程圖。
[0032]圖10是根據(jù)實施方案的過程的流程圖。
[0033]圖11是根據(jù)實施方案的過程的流程圖。
[0034]圖12示出適于實施實施方案的計算機系統(tǒng)。
【具體實施方式】
[0035]通常,描述了用于降低當(dāng)渲染多紋理3D幾何結(jié)構(gòu)時的計算開銷的方法、系統(tǒng)和設(shè)備。本文所述的主題可允許支持質(zhì)量預(yù)先計算的輻射傳輸、光譜渲染和改善的延遲渲染的支持。不同數(shù)據(jù)類型的紋理映射可用單紋理映射組的形式傳遞到圖形處理單元或可執(zhí)行圖形渲染的其它硬件。包括整數(shù)和浮點數(shù)據(jù)類型的不同原語數(shù)據(jù)類型可用于紋理映射組中的紋理映射。諸如源自雙線性和三線性內(nèi)插、小中見大映射(mipmap或MIP映射)級確定、各向異性過濾和其它內(nèi)插的那些內(nèi)插參數(shù)的內(nèi)插參數(shù)在不同的紋理映射之間再使用。例如,漫射顏色映射中紅紋理元素的加權(quán)可再使用于法線映射中法向量的X分量。
[0036]發(fā)明人已經(jīng)認識到,不同類型的紋理,甚至那些具有完全不同用途和數(shù)據(jù)的紋理,常常具有相同的分辨率和映射。然而,現(xiàn)有技術(shù)GPU通常需要程序員使用硬件中単獨的紋理單元來把紋理指定為單獨的紋理。這樣可能在許多情況下很浪費,因為即使諸如雙線性/三線性內(nèi)插和各向異性過濾的濾波建立和采樣算法必須被執(zhí)行多次,但最終相同紋理坐標用于所有紋理。此種浪費的原因之ー是現(xiàn)有技術(shù)GPU施加到紋理和幀緩沖區(qū)的任意限制:它們只可具有最多四個通道(即,RGBA,其中‘A’是a通道)。
[0037]在實施方案中,可建立用戶定義的紋理組用于傳遞到圖形處理器。例如,每像素具有兩個整數(shù)和三個浮點值的紋理可由程序員指定、傳遞到GPU,且由GPU在一個程序調(diào)用中渲染。
[0038]本公開的實施方案的技術(shù)優(yōu)勢包括用于3D場景的紋理映射中更快速的渲染和更多靈活性。關(guān)注空間問題的紋理映射(諸如基于整數(shù)的RGB紋理映射)的內(nèi)插參數(shù)可由高動態(tài)范圍很重要的紋理映射(諸如基于浮點的法線映射)再使用。對高質(zhì)量的預(yù)先計算輻射傳輸(例如,球諧函數(shù))可有更好的支持。每顏色通道只使用四個系數(shù)(即,RGBA)限制了視覺細節(jié),尤其在陰影/光邊界處的視覺細節(jié)。更多系數(shù)將允許更好的視覺質(zhì)量。顔色由更密集采樣光譜(例如,32而不是只有3)代表的光譜渲染可消除每個像素處RGB光譜轉(zhuǎn)換的大的計算開銷。另外,RGB到光譜轉(zhuǎn)換不受約束。即,無限數(shù)量的條件等色將轉(zhuǎn)化為相同RGB三聯(lián)體。因此,如果原始數(shù)據(jù)為多光譜,那么把它轉(zhuǎn)換成RGB并轉(zhuǎn)換回多光譜可引起重要信息損失。存儲例如32個原始采樣光譜紋理將允許高度準確地渲染顏色。可通過把實施方案延伸到幀緩沖區(qū)和紋理來更好地支持延遲渲染。這些可允許緩沖區(qū)中存儲的用于照明傳遞的值的數(shù)目和類型有更多靈活性。技術(shù)優(yōu)勢在超過渲染3D場景的范圍充分延伸。在金融應(yīng)用中,類似于用于實時3D圖形的內(nèi)插方法采樣數(shù)據(jù)的應(yīng)用對于接受整數(shù)、貨幣型和浮點數(shù)據(jù)類型的程序可運行得更快。
[0039]“原語數(shù)據(jù)類型”包括字節(jié)、整數(shù)(例如,短、正則、長)、浮點(包括雙浮點)、布爾值和字符數(shù)據(jù)類型。在許多編程語言中,原語數(shù)據(jù)類型可諸如使用C/C++結(jié)構(gòu)命令組合成復(fù)合類型。原語數(shù)據(jù)類型可由使用中的硬件或編程語言直接支持。
[0040]“g_緩沖區(qū)”是圖形緩沖區(qū)且用于延遲著色。g_緩沖區(qū)可包括在現(xiàn)有技術(shù)中由多渲染目標(MRT)支持的多個組件。多組件g_緩沖區(qū)允許像素著色器同時輸出若干顔色。
[0041]紋理元素的“內(nèi)插參數(shù)”包括加權(quán)、著色或從ー個或更多個紋理元素取得以把著色或其它值從紋理元素映射到像素或輸出點的其它參數(shù)。內(nèi)插參數(shù)可代表源自雙線性內(nèi)插、mipmap選擇、三線性mipmap內(nèi)插、各向異性過濾等的任何參數(shù)。最接近的mipmap的簡單選擇有時稱為內(nèi)插且使用內(nèi)插參數(shù)。
[0042]“紋理元素”包括像素或在ー些尋址坐標上紋理的其它位置。紋理元素包括漫射顏色紋理、鏡面顏色紋理、法線映射紋理、透明映射紋理、反射映射紋理、預(yù)先計算光紋理、材料指數(shù)紋理等中的元素。
[0043]“顏色”可包括傳統(tǒng)屏幕組成色紅、綠和藍(RGB)代表的顔色;青色、品紅色、黃色和黒色(CMYK)代表的傳統(tǒng)的光刻技術(shù)顏色;非傳統(tǒng)多光譜顏色(例如,超光譜、32通道顏色);灰度;和電磁輻射特性的其它代表色。
[0044]圖2示出根據(jù)實施方案使用圖形處理器來把紋理應(yīng)用到圖像的系統(tǒng)。在系統(tǒng)200中,三維模型201存儲在存儲器中供GPU213處理。十通道紋理映射組214包括漫射顏色紋理映射205、鏡面顏色紋理映射206、法線映射207和透明映射208。漫射顏色紋理映射分別包括R、G和B映射202、203和204。鏡面顏色紋理映射206也包括RBG映射。紋理映射205,206和208基于整數(shù),其中每個紋理的紋理元素把數(shù)據(jù)存儲為整數(shù)數(shù)據(jù)類型209。法線映射207基于浮點,其中每個紋理數(shù)組X、Y和Z的紋理元素存儲為浮點數(shù)據(jù)類型210。法線映射有時需要高動態(tài)范圍,因為小角度在光反射方面產(chǎn)生大的差別。光映射或透明映射可能更需要高動態(tài)范圍以避免帶狀偽影。
[0045]十通道紋理映射組214被作為參數(shù)傳遞到GPU213。GPU213確定R紋理映射202中紋理元素的內(nèi)插參數(shù),并把內(nèi)插參數(shù)不僅再使用于G紋理映射203和B紋理映射204,也再使用于鏡面顏色紋理映射206 (RGB)、法線映射207 (XYZ)和透明映射208 ( a )的分量映射。
[0046]例如,對于圖像中某一位置處的像素,像素的位置在3D模型201上確定并因此在紋理映射上確定。在紋理映射上的對應(yīng)紋理元素和周圍紋理元素的加權(quán)源自該位置在紋理元素上的相對居中度。ー個R紋理元素映射到該像素的加權(quán)被再使用作為X分量在法線映射上的加權(quán)。ー個G紋理元素映射到該像素的加權(quán)被再使用作為Y分量在法線映射上的加權(quán)。ー個B紋理元素映射到該像素的加權(quán)被再使用作為Z分量在法線映射上的加權(quán)。
[0047]在十通道紋理映射組214應(yīng)用到3D模型201之后,代表三維場景的圖像211可用。十通道紋理映射被認為是將用于實時3D渲染的許多標準紋理并入在視頻游戲中。然而,不同數(shù)目的通道也適合。
[0048]在一些實施方案中,用戶可指定將輸入到GPU的紋理的數(shù)量。例如,用戶可鍵入、輸入、選擇或以其它方式指示代表將作為參數(shù)傳遞到GPU函數(shù)的多個基于整數(shù)的紋理映射的數(shù)量。用戶可指示代表將作為參數(shù)傳遞到GPU函數(shù)的多個基于浮點的紋理映射的另ー數(shù)量。GPU然后可使用用戶提供的數(shù)量來配置紋理映射組的圖形存儲器空間。當(dāng)用戶調(diào)用渲染函數(shù)吋,內(nèi)插參數(shù)用于無論是基于整數(shù)或者基于浮點的所有紋理,以使用紋理映射的紋理元素來采樣或以其它方式調(diào)整像素。通過調(diào)用所有紋理作為參數(shù)的渲染函數(shù),可易于在紋理之間再使用計算的內(nèi)插參數(shù)。
[0049]圖3示出根據(jù)實施方案的具有整數(shù)數(shù)據(jù)類型的紋理元素的四邊形。四邊形320是來自RGB顏色紋理映射的ー組四個紋理元素,它包括紋理元素321、322、323和324。每個紋理元素代表組成色的不同程度。例如,每個紋理元素代表RGB顔色表示中紅色的值。每個紋理元素包括整數(shù),例如整數(shù)325。
[0050]圖像中像素的中心映射到四邊形中的位置328。如果像素映射到四邊形的正中心,那么來自每個紋理元素321、322、323和324的顏色將被同等加權(quán)(即,每個25%)以產(chǎn)生混合顔色。在示例性實施方案中,像素所落在的紋理元素321加權(quán)高于四邊形的其它紋理元素?;诰嚯x四邊形的中心的水平距離326 ‘a(chǎn)’和垂直距離327 ‘b’,對紋理元素321進行加權(quán)用于該像素。水平距離326和垂直距離327是源自加權(quán)所基于的雙線性內(nèi)插的內(nèi)插參數(shù)。另外,距離(即,sqrt(a2+b2))或水平距離326和垂直距離327的其它組合可被認為是內(nèi)插參數(shù)。
[0051]圖4示出根據(jù)實施方案的具有浮點數(shù)據(jù)類型的紋理元素的四邊形。四邊形420是來自法線映射的ー組四個紋理元素,它包括紋理元素421、422、423和424。每個紋理元素代表單位向量的方向分量。例如,姆個紋理元素代表XYZ單位向量表示中的X分量。姆個紋理元素由浮點數(shù)表示,諸如浮點數(shù)425。
[0052]圖像中像素的中心映射到四邊形中的位置428。如果像素映射到四邊形的正中心,那么來自每個紋理元素421、422、423和424的X分量將被同等加權(quán)(即,每個25%)以產(chǎn)生平均X分量。在示例性實施方案中,像素所落在的紋理元素421加權(quán)高于四邊形的其它紋理元素?;诰嚯x四邊形的中心的水平距離426 ‘a(chǎn)’和垂直距離427 ‘b’,對紋理元素421進行加權(quán)用于該像素。水平距離426和垂直距離427是加權(quán)所基于的內(nèi)插參數(shù)。
[0053]發(fā)明人已經(jīng)認識到,導(dǎo)出用于RGB紋理的許多內(nèi)插參數(shù)可再使用于XYZ紋理。另夕卜,內(nèi)插參數(shù)可在基于整數(shù)和基于浮點的四邊形之間再使用。這可節(jié)省硬件中的處理器周期。
[0054]確定水平距離326和垂直距離327 (圖3)和水平距離426和垂直距離427 (圖4)可造成GPU中大量開銷??砂褟膱D3的基于整數(shù)的紋理導(dǎo)出的距離或加權(quán)再使用于圖4的基于浮點的紋理,使得處理器浪費較少的時間來重新計算距離或加權(quán)和/或從存儲器高速緩存中查找距離或加權(quán)。
[0055]圖5示出根據(jù)實施方案的mipmap。Mipmap金字塔500包括Ixl mipmap531、2x2mipmap532、4x4mipmap533、8x8mipmap534、16xl6mipmap535 和 32x32mipmap535。Mipmap500可為mipmap更大金字塔的一部分。
[0056]在確定ー個或更多個mipmap供使用時,確定3D場景中對象的規(guī)模。在示例性實施方案中,感興趣對象的規(guī)模在級別537。級別537落入mipmap533和mipmap534之間。到較小mipmap533的相對距離是距離526 ‘a(chǎn)’,且到較大mipmap534的相對距離是距離527 ‘b’。mipmap533和534的三線性內(nèi)插使用內(nèi)插參數(shù)526和527。內(nèi)內(nèi)插從兩個mipmap中挑選。然后使用基于到每個MIP級別的相對距離(S卩,距離526 ‘a(chǎn)’和距離527 ‘b’)的第三內(nèi)插(因此稱為“三線性”)參數(shù)來內(nèi)插這兩個值。
[0057]在其它實施方案中,使用規(guī)模最接近的mipmap的簡單選擇。例如,如果‘距離’b〈a,那么mipmap534用于進行進ー步的處理。即,如果mipmap537的規(guī)模相比mipmap533更接近mipmap534,那么mipmap534用于進行進ー步的處理。在一些實施方案中,mipmap的簡單選擇使用被認為是內(nèi)插參數(shù)的選擇本身。
[0058]確定合適規(guī)模的mipmap可消耗大量資源。把內(nèi)插參數(shù)526和527再使用于包括基于整數(shù)或基于浮點數(shù)的那些mipmap的其它mipmap可減少對此類資源的需要。這在各向異性過濾用于進行不對稱mipmap的情況下可能非常有用。
[0059]圖6示出根據(jù)實施方案的三維模型。3D模型640是人頭,它用線框渲染以進行說明。3D模型640上的像素641可具有映射到它的若干紋理。包括漫射和鏡面顏色紋理、法線映射和透明映射的紋理可用以渲染在三維場景中的模型。
[0060]圖7示出根據(jù)實施方案的紋理映射。紋理映射740是漫射顏色紋理映射,它包括諸如眼睛、耳朵、嘴等的特征。紋理元素741映射到圖6上的像素641。通過把紋理映射740和其它紋理映射一起映射到3D模型640 (圖6),可產(chǎn)生逼真的3D圖像。[0061]圖8示出根據(jù)實施方案的圖7的紋理映射應(yīng)用到圖6的三維模型。3D頭部840具有像素841,像素841對應(yīng)于像素641 (圖6)和紋理元素741 (圖7)。附圖的三維對象可用于視頻游戲、CAD制圖和其它3D環(huán)境。
[0062]圖8的渲染也可使用延遲渲染來實現(xiàn)。基于浮點的法線映射和基于整數(shù)的材料指數(shù)可存儲到單個目標g_緩沖區(qū)中。單個g_緩沖區(qū)可作為紋理參數(shù)傳遞到用戶提供的片段程序以用于整個全屏圖像。使用g_緩沖區(qū)和片段程序為圖像計算對圖像的著色。
[0063]圖9是示出根據(jù)實施方案的過程900的流程圖。在操作901,接收具有第一原語數(shù)據(jù)類型的紋理元素的第一紋理。在操作902,接收具有第二原語數(shù)據(jù)類型的紋理元素的第二紋理。第一和第二原語數(shù)據(jù)類型彼此不同。在操作903,使用可操作地與存儲器耦合的至少一個處理器來確定第一紋理中第一數(shù)據(jù)類型的紋理元素的內(nèi)插參數(shù)以映射到圖像的像素,該圖像代表三維對象或場景。在操作904,使用為第一紋理確定的內(nèi)插參數(shù)來把第二紋理中第二數(shù)據(jù)類型的紋理元素應(yīng)用到該像素。
[0064]圖10是示出根據(jù)實施方案的過程1000的流程圖。在操作1001,從用戶接收指示多個基于整數(shù)的紋理映射的第一數(shù)字。在操作1002,從可能是同一用戶的用戶接收指示多個基于浮點的紋理映射的第二數(shù)字。在操作1003,使用從用戶接收的第一和第二數(shù)字來為紋理組配置圖形存儲器空間。在操作1004,接收限定三維模型的外觀的紋理組,所述紋理組具有基于ー個原語數(shù)據(jù)類型與另ー個原語數(shù)據(jù)類型彼此不同的原語數(shù)據(jù)類型的紋理。在操作1005,使用可操作地與存儲器耦合的至少ー個處理器來為紋理映射中ー個的紋理元素位置確定用于三維模型上一部分的內(nèi)插參數(shù)。在操作1006,使用所確定的內(nèi)插參數(shù)來執(zhí)行對其它紋理映射中對應(yīng)的紋理元素的處理。這允許對不同原語數(shù)據(jù)類型的紋理使用所確定的內(nèi)插參數(shù)。
[0065]圖11是示出根據(jù)實施方案的過程1100的流程圖。在操作1101,把基于浮點的法向量紋理和基于整數(shù)的材料指數(shù)存儲到單個目標g_緩沖區(qū)中用于代表三維對象或場景的圖像。在操作1102,把g-緩沖區(qū)作為紋理參數(shù)傳遞到片段程序用于整個圖像。在操作1103,使用可操作地與存儲器耦合的至少ー個處理器來確定使用g_緩沖區(qū)和片段程序?qū)D像的著色。
[0066]操作可按照上文給定的順序或適用的不同次序來執(zhí)行。它們可在計算機或其它機器中自動進行,且可用軟件、固件來編碼或者硬編碼為機器可讀指令并通過可實施該指令的一個或更多個處理器來運行。
[0067]圖12示出適于實施根據(jù)各種實施方案的設(shè)備的硬件系統(tǒng)的實例。這個框圖示出計算機系統(tǒng)1200,諸如個人計算機、視頻游戲控制臺和相關(guān)聯(lián)的顯示器、移動設(shè)備、個人數(shù)字助理或適于實踐本發(fā)明的實施方案的其它數(shù)字設(shè)備。計算機系統(tǒng)1200包括用于運行軟件應(yīng)用并視需要運行操作系統(tǒng)的中央處理單元(CPU) 1205。CPU1205可由一個或更多個同構(gòu)或異構(gòu)處理核組成。存儲器1210存儲應(yīng)用和數(shù)據(jù)以供CPU1205使用。存儲1215提供用于應(yīng)用和數(shù)據(jù)的非易失性存儲和其它計算機可讀媒體,且可包括固定磁盤驅(qū)動器、可移動磁盤驅(qū)動器、快閃存儲器設(shè)備和⑶-ROM、DVD-ROM、藍光、HD-DVD或其它光存儲設(shè)備以及信號傳輸和存儲媒體。用戶輸入設(shè)備1220將用戶輸入從一個或更多個用戶傳遞到計算機系統(tǒng)1200,用戶輸入設(shè)備的實例可包括鍵盤、鼠標、操縱桿、觸摸板、觸摸屏、靜止或視頻相機和/或麥克風(fēng)。網(wǎng)絡(luò)接ロ 1225允許計算機系統(tǒng)1200通過電子通信網(wǎng)絡(luò)與其它計算機系統(tǒng)進行通信,且可包括通過局域網(wǎng)和廣域網(wǎng)(諸如因特網(wǎng))進行的有線或無線通信。音頻處理器1230適于從CPU1205、存儲器1210和/或存儲1215提供的指令和/或數(shù)據(jù)產(chǎn)生模擬或數(shù)字音頻輸出。包括CPU1205、存儲器1210、數(shù)據(jù)存儲1215、用戶輸入設(shè)備1220、網(wǎng)絡(luò)接ロ1225和音頻處理器1230的計算機系統(tǒng)1200的組件通過ー根或更多根數(shù)據(jù)總線1235連接。
[0068]圖形子系統(tǒng)1240進ー步與數(shù)據(jù)總線1235和計算機系統(tǒng)1200的組件連接。圖形子系統(tǒng)1240包括圖形處理單元(GPU)1245和圖形存儲器1250。圖形存儲器1250包括用于為輸出圖像的每個像素存儲像素數(shù)據(jù)的顯示存儲器(例如,幀緩沖區(qū))。圖形存儲器1250可在與GPU1245相同的設(shè)備中集成、作為單獨的設(shè)備與GPU1245連接和/或?qū)嵤┰诖鎯ζ?210中。像素數(shù)據(jù)可從CPU1205直接提供到圖形存儲器1250?;蛘?,CPU1205向GPU1245提供限定期望輸出圖像的數(shù)據(jù)和/或指令,GPU1245從數(shù)據(jù)和/或指令產(chǎn)生ー個或更多個輸出圖像的像素數(shù)據(jù)。限定期望輸出圖像的數(shù)據(jù)和/或指令可存儲在存儲器1210和/或圖形存儲器1250中。在實施方案中,GPU1245包括從限定場景的幾何形狀、照明、著色、紋理化、運動和/或攝像機參數(shù)的指令和數(shù)據(jù)產(chǎn)生輸出圖像的像素數(shù)據(jù)的3D渲染能力。GPU1245還可包括能夠執(zhí)行著色器程序的一個或更多個可編程執(zhí)行單元。
[0069]圖形子系統(tǒng)1240周期性地從圖形存儲器1250輸出圖像的像素數(shù)據(jù)以在顯示設(shè)備1255上顯示。顯示設(shè)備1255可為能夠響應(yīng)于來自計算機系統(tǒng)1200的信號而顯示可視信息的任何設(shè)備,包括CRT、IXD、等離子和OLED顯示器。計算機系統(tǒng)1200可向顯示設(shè)備1255提供模擬或數(shù)字信號。
[0070]根據(jù)各種實施方案,CPU1205是具有一個或更多個處理核的ー個或更多個通用微處理器。另外的實施方案可使用具有特別適于高度平行和計算密集型應(yīng)用(諸如媒體和交互式娛樂應(yīng)用)的微處理器結(jié)構(gòu)的ー個或更多個CPU1205來實施。
[0071]在不同的實施方案中,系統(tǒng)的組件可通過可為以下的任何組合的網(wǎng)絡(luò)來連接:因特網(wǎng)、IP網(wǎng)絡(luò)、內(nèi)聯(lián)網(wǎng)、廣域網(wǎng)(“WAN”)、局域網(wǎng)絡(luò)(“LAN”)、虛擬專用網(wǎng)絡(luò)(“VPN”)、公共交換電話網(wǎng)絡(luò)(“PSTN”)或支持本文所述設(shè)備之間的數(shù)據(jù)通信的任何其它類型的網(wǎng)絡(luò)。網(wǎng)絡(luò)可包括有線和無線連接,包括光鏈路。根據(jù)本公開,許多其它實例對于本領(lǐng)域那些技術(shù)人員也是可能和明顯的。在本文的討論中,網(wǎng)絡(luò)可特別指定也可不特別指定。
[0072]在上述說明書中,本發(fā)明是參照其特定實施方案描述的,但本領(lǐng)域那些技術(shù)人員將認識到本發(fā)明并不局限于此。上述發(fā)明的各種特征和方面可単獨或結(jié)合使用。另外,在不脫離說明書的更廣泛的精神和范圍的情況下,本發(fā)明可用于本文所述的環(huán)境和應(yīng)用之外的任何數(shù)量的環(huán)境和應(yīng)用。說明書和附圖因此被認為是說明性的而非限制性的。
[0073]應(yīng)注意,上文討論的方法、系統(tǒng)和設(shè)備僅僅是為了示例。必須強調(diào),各種實施方案可視情況省略、替換或増加各種過程或組件。例如,應(yīng)理解,在替代性實施方案中,所述方法可按照不同于所描述的順序來執(zhí)行,且可增加、省略或組合各種步驟。另外,參照某些實施方案描述的特征可在各種其它實施方案中組合。可用類似的方式來組合實施方案的不同方面和元件。另外,應(yīng)強調(diào),技術(shù)在發(fā)展,并因此,許多元件是示例性的而不應(yīng)被解釋為限制本發(fā)明的范圍。
[0074]描述中給出具體細節(jié)以便透徹地理解實施方案。然而,本領(lǐng)域技術(shù)人員應(yīng)理解,可在沒有這些具體細節(jié)的情況下實踐實施方案。例如,未示出已知電路、過程、算法、結(jié)構(gòu)和技術(shù)的不必要的細節(jié),以免混淆實施方案。[0075]另外,應(yīng)注意,可將實施方案描述為過程,過程被描繪為流程圖或框圖。盡管每個過程可把操作描述為順序過程,但是許多操作可并行或同時執(zhí)行。另外,可重新安排操作的順序。過程可具有附圖中未包括的另外的步驟。
[0076]此外,如本文所公開,術(shù)語“存儲器”或“存儲器単元”可表示用于存儲數(shù)據(jù)的ー個或更多個設(shè)備,包括只讀存儲器(ROM)、隨機存取存儲器(RAM)、磁性RAM、磁心存儲器、磁盤存儲媒體、光存儲媒體、快閃存儲器設(shè)備或用于存儲信息的其它計算機可讀媒體。術(shù)語“計算機可讀媒體”包括但不限于便攜式或固定存儲設(shè)備、光存儲設(shè)備、無線通道、SIM卡、其它智能卡和能夠存儲、包含或承載指令或數(shù)據(jù)的各種其它媒體。
[0077]此外,實施方案可由硬件、軟件、固件、中間件、微代碼、硬件描述語言或它們的任何組合來實施。當(dāng)在軟件、固件、中間件或微代碼中實施時,執(zhí)行所需任務(wù)的程序代碼或代碼段可存儲在諸如存儲媒體的計算機可讀媒體中。處理器可執(zhí)行所需任務(wù)。
[0078]已描述了若干實施方案,本領(lǐng)域那些技術(shù)人員將認識到,可在不偏離本發(fā)明的精神的情況下使用各種修改、替代性構(gòu)造和等效物。例如,上述元件可僅為更大系統(tǒng)的組件,其中其它規(guī)則可優(yōu)先于本發(fā)明的應(yīng)用或以其它方式修改本發(fā)明的應(yīng)用。另外,可在考慮以上元件之前、期間或之后進行多個步驟。因此,以上描述不應(yīng)被視為限制本發(fā)明的范圍。
【權(quán)利要求】
1.一種在圖形處理單元(GPU)中進行圖形處理的方法,所述方法包括: 接收具有第一原語數(shù)據(jù)類型的紋理元素的第一紋理; 接收具有第二原語數(shù)據(jù)類型的紋理元素的第二紋理,所述第一原語數(shù)據(jù)類型和所述第二原語數(shù)據(jù)類型彼此不同; 使用可操作地與存儲器耦合的至少ー個處理器來確定所述第一紋理中所述第一數(shù)據(jù)類型的紋理元素的內(nèi)插參數(shù)以映射到圖像的像素,所述圖像代表三維對象;和 使用為所述第一紋理確定的所述內(nèi)插參數(shù)來把所述第二紋理中所述第二數(shù)據(jù)類型的紋理元素應(yīng)用到所述像素。
2.如權(quán)利要求1所述的方法,其中數(shù)據(jù)類型中的ー個是整數(shù)數(shù)據(jù)類型而另ー數(shù)據(jù)類型是浮點數(shù)據(jù)類型。
3.如權(quán)利要求2所述的方法,其中具有整數(shù)數(shù)據(jù)類型的紋理元素的所述紋理選自由以下內(nèi)容構(gòu)成的組: 漫射顏色紋理; 鏡面顏色紋理; 透明映射;和 材料指數(shù)。
4.如權(quán)利要求2所述的方法,其中具有浮點數(shù)據(jù)類型的紋理元素的所述紋理選自由以下內(nèi)容構(gòu)成的組: 法向量映射;` 反射映射; 預(yù)計算光映射;和 灰度級紋理, 所述浮點數(shù)據(jù)類型允許高動態(tài)范圍映射。
5.如權(quán)利要求2所述的方法,其中所述整數(shù)數(shù)據(jù)類型是8位整數(shù)數(shù)據(jù)類型。
6.如權(quán)利要求2所述的方法,其中所述浮點數(shù)據(jù)類型是32位浮點數(shù)據(jù)類型。
7.如權(quán)利要求1所述的方法,其中所述內(nèi)插參數(shù)是源自雙線性內(nèi)插的加權(quán)。
8.如權(quán)利要求1所述的方法,其中所述內(nèi)插參數(shù)源自小中見大映射(mipmap)選擇。
9.如權(quán)利要求1所述的方法,其中所述內(nèi)插參數(shù)是源自小中見大映射(mipmap)三線性內(nèi)插的加權(quán)。
10.如權(quán)利要求1所述的方法,其中所述內(nèi)插參數(shù)是源自各向異性過濾的加權(quán)。
11.如權(quán)利要求1所述的方法,其中所述操作以示出的順序執(zhí)行。
12.如權(quán)利要求1所述的方法,其中每個操作由可操作地與所述存儲器耦合的所述至少ー個處理器執(zhí)行。
13.—種實施指示使一個或更多個機器執(zhí)行如權(quán)利要求1所述的操作的指令的信息的機器可讀有形存儲媒體。
14.一種執(zhí)行計算機程序中的指令的計算機系統(tǒng),所述計算機程序指令包括用于執(zhí)行如權(quán)利要求1所述的操作的程序代碼。
15.一種在圖形處理單元(GPU)中進行圖形處理的方法,所述方法包括: 接收限定三維模型的外觀的紋理映射組,所述紋理映射組具有基于ー個原語數(shù)據(jù)類型與另ー個原語數(shù)據(jù)類型彼此不同的原語數(shù)據(jù)類型的紋理; 使用可操作地與存儲器耦合的至少ー個處理器來為所述紋理映射中ー個的紋理元素位置確定用于所述三維模型上一部分的內(nèi)插參數(shù);和 使用所述確定的內(nèi)插參數(shù)來執(zhí)行對所述其它紋理映射中對應(yīng)的紋理元素的處理, 從而對不同原語數(shù)據(jù)類型的紋理使用所述確定的內(nèi)插參數(shù)。
16.如權(quán)利要求15所述的方法,其還包括: 從用戶接收指示多個基于整數(shù)的紋理映射的第一數(shù)字; 從用戶接收指示多個基于浮點的紋理映射的第二數(shù)字;和 使用從所述用戶接收的所述第一數(shù)字和所述第二數(shù)字來為所述紋理映射組配置圖形存儲器空間。
17.如權(quán)利要求15所述的方法,其中所述內(nèi)插參數(shù)源自雙線性內(nèi)插、小中見大映射(mipmap)選擇、mipmap三線性內(nèi)插或各向異性過濾。
18.如權(quán)利要求15所述的方法,其中所述紋理映射組包括: 三通道基于整數(shù)的漫射顏色紋理; 三通道基于整數(shù)的鏡面顏色紋理; 三通道基于浮點的法線映射;和 單通道基于整數(shù)的透明映射。
19.如權(quán)利要求15所述的方法,其中所述原語數(shù)據(jù)類型包括浮點數(shù)據(jù)類型和整數(shù)數(shù)據(jù)類型。
20.—種在圖形處理單元(GPU)中延遲渲染的方法,所述方法包括: 把基于浮點的法向量紋理和基于整數(shù)的材料指數(shù)存儲到單個目標g_緩沖區(qū)用于代表三維對象的圖像; 把所述g_緩沖區(qū)作為紋理參數(shù)傳遞到片段程序用于所述圖像;和使用可操作地與存儲器耦合的至少ー個處理器來確定使用所述g_緩沖區(qū)和所述片段程序?qū)λ鰣D像的著色。
【文檔編號】G06F17/00GK103503032SQ201280021532
【公開日】2014年1月8日 申請日期:2012年5月1日 優(yōu)先權(quán)日:2011年5月2日
【發(fā)明者】G.納吉 申請人:索尼電腦娛樂公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1