欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

顯示圖形紋理的制作方法

文檔序號(hào):6508347閱讀:144來源:國(guó)知局
專利名稱:顯示圖形紋理的制作方法
技術(shù)領(lǐng)域
本發(fā)明主要涉及計(jì)算機(jī)圖形。更具體地,本發(fā)明尤其涉及顯示圖形紋理。
背景技術(shù)
需要某些種類的計(jì)算機(jī)圖形系統(tǒng),當(dāng)用戶與計(jì)算機(jī)圖形系統(tǒng)交互時(shí),實(shí)時(shí)快速地顯示的大量不同的圖形紋理。例如,David Gettman等人于2003年12月3日提交的名為“信息顯示(InformationDisplay)”的共同未決申請(qǐng)第10/727,799號(hào),一方面描述了一種瀏覽器,用于導(dǎo)航可能包括虛擬城市的虛擬三維環(huán)境,其中,將從HTML文檔或Web頁(yè)提取的紋理顯示在虛擬建筑的各側(cè)上。
在這種環(huán)境中,需要瀏覽器顯示當(dāng)用戶導(dǎo)航通過虛擬城市的紋理。在具有大量虛擬建筑的虛擬城市中,被潛在地存儲(chǔ)和顯示的紋理的數(shù)量可以非常大,并且每個(gè)紋理可以是例如1Mb那么大或更大。與目前傳統(tǒng)的個(gè)人計(jì)算機(jī)系統(tǒng)中可用的主存儲(chǔ)器相比,需要更大的主存儲(chǔ)器來存儲(chǔ)用于當(dāng)用戶導(dǎo)航虛擬三維環(huán)境時(shí)進(jìn)行實(shí)時(shí)顯示的數(shù)千個(gè)這樣的高分辨率紋理。盡管有些個(gè)人計(jì)算機(jī)使用具有專用顯示存儲(chǔ)功能的圖形顯示卡,但這些卡的存儲(chǔ)容量太小,以至于不能存儲(chǔ)所有紋理中看得見的所有高分辨率紋理。
盡管可以將這些紋理存儲(chǔ)在大容量存儲(chǔ)器或高速緩沖存儲(chǔ)器中,但是由于這種存儲(chǔ)器的執(zhí)行速率較低,所以在顯示的同時(shí)從這樣的存儲(chǔ)器加載這些紋理將會(huì)給用戶帶來不能接受的時(shí)延。因此,在主存儲(chǔ)器或顯示存儲(chǔ)器中,某些紋理可能由于磁盤反應(yīng)時(shí)間而在被需要時(shí)不可用。需要一種更好的方式來管理環(huán)境(其中,一些紋理在虛擬環(huán)境中的遠(yuǎn)處出現(xiàn))中高分辨率紋理的顯示,以便當(dāng)呈現(xiàn)關(guān)于用戶的視點(diǎn)的紋理時(shí),從用戶的視點(diǎn)無法看見這些紋理的很多細(xì)節(jié)。
另外,在這種環(huán)境中,某些紋理顯示在用戶觀察到的最顯著位置,而其他紋理顯示在較遠(yuǎn)位置處。為了提供逼真的顯示,該系統(tǒng)需要以高分辨率來顯示顯著位置的紋理;而較遠(yuǎn)距離的紋理則無需具有相同的分辨率。在這種環(huán)境下,為了以一個(gè)高等級(jí)的分辨率存儲(chǔ)所有紋理并且當(dāng)在遠(yuǎn)處顯示這些紋理時(shí)以低分辨率呈現(xiàn),將會(huì)使效率很低而昂貴且浪費(fèi)計(jì)算資源。需要一種更好的方法來處理具有隨著在虛擬三維環(huán)境中紋理的位置而變化的分辨率需求的紋理。
另外,關(guān)于紋理的源內(nèi)容(諸如,HTML文檔或Web頁(yè))可以隨著時(shí)間的變化而改變,例如,當(dāng)提供HTML文檔或Web頁(yè)的在線Web站點(diǎn)的擁有者或操作者對(duì)文檔或者網(wǎng)頁(yè)進(jìn)行修改時(shí)。盡管這樣的修改可能在使用該系統(tǒng)期間的任何時(shí)間發(fā)生,但是只要用戶的視點(diǎn)發(fā)生改變或需要再次呈現(xiàn)紋理,恢復(fù)源內(nèi)容是無法實(shí)現(xiàn)的。

發(fā)明內(nèi)容
本發(fā)明的一個(gè)方面包括一種管理大量圖形紋理的顯示的方法,其中,不是所有的紋理每次都可見,該方法包括以下機(jī)器執(zhí)行的步驟在存儲(chǔ)器中創(chuàng)建并存儲(chǔ)一個(gè)或多個(gè)高分辨率紋理的庫(kù)(pool);在虛擬三維環(huán)境中的多邊形上顯示紋理;其中,一個(gè)或多個(gè)紋理顯示信息內(nèi)容并向三維環(huán)境的觀察者傳遞信息內(nèi)容,其中,能夠以高細(xì)節(jié)層次來觀察這些紋理中的一個(gè)或多個(gè),其中,這些紋理中的一個(gè)或多個(gè)具有基本相似的尺寸,以及其中,觀察者可以與這些紋理中的一個(gè)或多個(gè)交互;其中,在一個(gè)或多個(gè)源中定義這些紋理的排列,以及其中,與這些紋理相關(guān)的信息內(nèi)容可以從一個(gè)或多個(gè)遠(yuǎn)程源獲得;以及其中,虛擬三維環(huán)境包括一條或多條通道,以及其中,沿著這些通道來排列用于顯示信息內(nèi)容的一個(gè)或多個(gè)紋理。
根據(jù)一個(gè)特征,顯示特定紋理的步驟包括在虛擬三維環(huán)境中的多邊形上顯示特定紋理。根據(jù)另一個(gè)特征,大多數(shù)這種多邊形是規(guī)則的四邊“四邊形”。
根據(jù)另一特征,在存儲(chǔ)器介質(zhì)上創(chuàng)建一個(gè)或多個(gè)紋理的高速緩沖存儲(chǔ)器。紋理在從遠(yuǎn)程源下載的內(nèi)容生成后被保存到這些高速緩沖存儲(chǔ)器中,或是從遠(yuǎn)程源下載的紋理的副本。當(dāng)它們變?yōu)榭捎脮r(shí),可以將它們保存,或可以在退出程序時(shí)一起執(zhí)行。在程序啟動(dòng)時(shí)或在需要時(shí),從高速緩沖存儲(chǔ)器加載紋理以用于顯示。根據(jù)另一特征,該程序可以形成用于與當(dāng)前顯示的三維環(huán)境不同的三維環(huán)境的高速緩沖存儲(chǔ)器。根據(jù)另一個(gè)特征,當(dāng)進(jìn)入那個(gè)虛擬三維環(huán)境時(shí),從高速緩沖存儲(chǔ)器加載存在于高速緩沖存儲(chǔ)器中的、與當(dāng)前虛擬三維環(huán)境相關(guān)的所有紋理。根據(jù)另一個(gè)特征,基于來自高速緩沖存儲(chǔ)器的要求,加載與存在于高速緩沖存儲(chǔ)器中的當(dāng)前虛擬三維環(huán)境相關(guān)的紋理。
根據(jù)另一個(gè)特征,紋理的高速緩沖存儲(chǔ)器可以在主存儲(chǔ)器中。
根據(jù)另一個(gè)特征,可以壓縮這些紋理。可以以壓縮形式將紋理保存在存儲(chǔ)器介質(zhì)上,并且當(dāng)加載到存儲(chǔ)器時(shí)進(jìn)行解壓縮。在另一個(gè)特征中,可以將紋理以壓縮形式保存在存儲(chǔ)器中,并且在將紋理傳送到圖形卡的控制器之前進(jìn)行解壓縮。在另一個(gè)特征中,可以以壓縮形式將特征紋理保存在圖形卡上,并且當(dāng)需要通過卡顯示時(shí)進(jìn)行解壓縮。
根據(jù)本發(fā)明的另一個(gè)特征,系統(tǒng)可以執(zhí)行確定是否存在對(duì)一個(gè)或多個(gè)內(nèi)容元素中的特定內(nèi)容元素的更新的步驟,其中,每個(gè)內(nèi)容元素與一個(gè)或多個(gè)紋理相關(guān),并且如果存在任何更新,則更新相關(guān)的一個(gè)紋理或多個(gè)紋理。如果紋理不能本地使用,則可以認(rèn)為其適于更新。
在另一個(gè)特征中,可以創(chuàng)建紋理生成庫(kù)的源內(nèi)容,使得可以同時(shí)處理至少一個(gè)源內(nèi)容元素??梢愿鶕?jù)包括在內(nèi)容元素中的信息使用這樣的庫(kù)來提供紋理的單個(gè)更新或生成、或連續(xù)的更新流。
根據(jù)另一個(gè)特征,可以使生成庫(kù)條目與顯示庫(kù)條目相關(guān),從而保存一些顯示庫(kù)條目用于生成紋理。這些條目可以被具有高紋理優(yōu)先級(jí)的紋理使用。
以下各種事件可以使得紋理被更新,包括但不限于三維環(huán)境中的紋理的位置變化、相關(guān)內(nèi)容源的變化、映射到相關(guān)紋理源的變化、包括動(dòng)畫或其他動(dòng)態(tài)信息的內(nèi)容源的變化、與用戶或用戶特征(諸如,年齡或語(yǔ)言偏好)的交互、或虛擬三維環(huán)境中的用戶位置和/或視點(diǎn)的變化。
在其他特征中,可以根據(jù)更新紋理的狀態(tài)(諸如,表明加載或生成等待、正在進(jìn)行、或失敗)來改變紋理。
上述任何一種對(duì)紋理的更新都會(huì)導(dǎo)致重新生成紋理或從遠(yuǎn)程源下載紋理。
在另一個(gè)特征中,系統(tǒng)可以執(zhí)行根據(jù)一個(gè)或多個(gè)標(biāo)準(zhǔn)確定是否顯示代替高分辨率紋理的較低分辨率的紋理的步驟。可以為每個(gè)高分辨率紋理分配一個(gè)或多個(gè)低分辨率紋理??梢詫⑦@種低分辨率紋理存儲(chǔ)在大容量存儲(chǔ)系統(tǒng)中,和/或通過網(wǎng)絡(luò)下載??梢愿鶕?jù)定義的紋理優(yōu)先級(jí)對(duì)低優(yōu)先級(jí)紋理的下載進(jìn)行排序,這種優(yōu)先級(jí)可以基于虛擬三維環(huán)境中的觀察者的位置。
根據(jù)另一個(gè)特征,可以在生成相應(yīng)的高分辨率紋理的同時(shí),生成每個(gè)低分辨率紋理。根據(jù)不同的特征,可以通過網(wǎng)絡(luò)將每個(gè)低分辨率紋理下載到客戶端計(jì)算機(jī)系統(tǒng)中。在另一個(gè)特征中,創(chuàng)建對(duì)應(yīng)于每個(gè)高分辨率紋理的較低分辨率紋理的一個(gè)或多個(gè)較大的庫(kù)。
在另一個(gè)特征中,給多邊形分配多個(gè)紋理優(yōu)先級(jí),用于以下各項(xiàng)從高速緩沖存儲(chǔ)器加載、或存儲(chǔ)到高速緩沖存儲(chǔ)器、生成、處理更新、提供激活的更新、下載源內(nèi)容、下載完整紋理、或管理環(huán)境的任何其他方面等。可以根據(jù)以下多個(gè)標(biāo)準(zhǔn)來分配這些優(yōu)先級(jí)世界上的用戶位置和視點(diǎn)、紋理近來是否將變得可見、自從上次生成紋理開始,是否已經(jīng)更新了源內(nèi)容,或源內(nèi)容是否包括使得紋理被動(dòng)態(tài)更新的信息。每個(gè)操作都可以有其自己的優(yōu)先級(jí)集——盡管從高速緩沖存儲(chǔ)器加載的優(yōu)先級(jí)與用于生成的優(yōu)先級(jí)相似,但是它們不必相同。
在另一個(gè)特征中,將具有較高紋理優(yōu)先級(jí)的多邊形分配給高分辨率紋理庫(kù)中的條目,并將余下的一些多邊形分配給低分辨率紋理。
在另一個(gè)特征中,內(nèi)容通過網(wǎng)絡(luò)被下載到客戶端計(jì)算機(jī)系統(tǒng),并在下載之后使用客戶端計(jì)算機(jī)系統(tǒng)組織并呈現(xiàn)。在又一特征中,由至少一個(gè)實(shí)體擁有或控制內(nèi)容。在又一特征中,源內(nèi)容包括下列內(nèi)容中的一個(gè)或多個(gè)互聯(lián)網(wǎng)網(wǎng)頁(yè)、電視屏幕截圖、移動(dòng)電話頁(yè)、游戲屏幕截圖、圖像、文檔、或視頻內(nèi)容。
在另一特征中,系統(tǒng)將執(zhí)行通過與虛擬環(huán)境交互來阻止用戶改變虛擬三維環(huán)境中的紋理的位置的步驟。
在另一特征中,當(dāng)確定是否需要使與特定紋理相關(guān)的多邊形可用時(shí),如果已經(jīng)完成生成紋理的步驟,則顯示特定紋理;如果沒有完成生成紋理的步驟,則顯示第二特定紋理。第二紋理可以是低或高分辨率紋理,并且可以與第一紋理的較早版本相關(guān),或可以不基于第一紋理而從現(xiàn)存可選紋理集中選擇。
在另一特征中,當(dāng)確定是否需要使多邊形變得可用時(shí),其中,使得多邊形與特定紋理相關(guān);如果該紋理在存儲(chǔ)器中,則顯示特定紋理;如果該紋理不在存儲(chǔ)器中,則啟動(dòng)將紋理傳輸?shù)酱鎯?chǔ)器中的過程,并在加載未完成時(shí)顯示第二特定紋理。在另一個(gè)特征中,獲取紋理的過程包括從本地存儲(chǔ)器介質(zhì)加載紋理。在又一個(gè)特征中,獲取紋理的過程包括從網(wǎng)絡(luò)下載紋理。
在另一個(gè)特征中,一個(gè)或多個(gè)紋理庫(kù)用于紋理的加載和生成,然后創(chuàng)建單獨(dú)的紋理庫(kù),用于處理紋理的顯示;如果需要更加緊急地觀察比顯示庫(kù)中已經(jīng)存在的紋理之一的生成紋理,則當(dāng)紋理完成生成時(shí),其將代替顯示紋理庫(kù)中的條目;加載/生成庫(kù)中的條目接下來將通過其他紋理來釋放用于用戶。


參考附圖,通過實(shí)施例來描述本發(fā)明而不用于限制本發(fā)明,其中,相同的參考標(biāo)號(hào)表示相似的元件,其中圖1A是示出用于顯示圖形紋理的典型系統(tǒng)的框圖;圖1B是根據(jù)實(shí)施例的典型虛擬控件瀏覽系統(tǒng)的框圖;圖1C是示出用于準(zhǔn)備顯示虛擬三維環(huán)境中的紋理的過程的高度綜述的流程圖;
圖2是示出用于動(dòng)態(tài)更新紋理的過程的流程圖;圖3是示出用于處理動(dòng)態(tài)更新四邊形的過程的流程圖;圖4是示出用于處理動(dòng)態(tài)更新紋理的過程的流程圖;圖5是示出用于加載或保存紋理的過程的流程圖;以及圖6是示出可以實(shí)施本發(fā)明的實(shí)施例的計(jì)算機(jī)系統(tǒng)的框圖。
具體實(shí)施例方式
描述了一種用于顯示圖形紋理的方法和裝置。在下列描述中,為了說明,闡述了多個(gè)具體實(shí)施例,以提供本發(fā)明的徹底理解。然而,本領(lǐng)域的技術(shù)人員將了解,沒有這些具體細(xì)節(jié)也可以實(shí)施本發(fā)明。在其他實(shí)例中,以框圖的形式示出了公知的紋理和裝置,以避免不必要地混淆本發(fā)明。
此處根據(jù)下列提綱描述多個(gè)實(shí)施例紋理綜述功能綜述硬件綜述擴(kuò)展及可選實(shí)施例紋理綜述圖1A是示出用于顯示圖形紋理的典型系統(tǒng)的框圖。術(shù)語(yǔ)“紋理”指已經(jīng)預(yù)先由諸如,HTML文檔或Web網(wǎng)頁(yè)、或其他交互內(nèi)容的源內(nèi)容呈現(xiàn)的數(shù)字位像。顯示和生成模塊110可通信地連接至加載和保存模塊120。顯示和生成模塊110以及加載和保存模塊120均包括一個(gè)或多個(gè)計(jì)算機(jī)程序、指令、或其他軟件單元,它們彼此合作來執(zhí)行此處描述的多個(gè)功能。一般,顯示和生成模塊110用于顯示和生成計(jì)算機(jī)顯示器中的紋理。如根據(jù)此處描述的方法所需,加載和保存模塊120用于將紋理加載并保存到存儲(chǔ)器以及加載并保存來自存儲(chǔ)器的紋理。
圖1B是典型的虛擬空間瀏覽系統(tǒng)的框圖,其中,可以使用實(shí)施例。計(jì)算機(jī)1001A包括三維虛擬空間瀏覽器1001B和操作系統(tǒng)518。計(jì)算機(jī)1001A還包括主存儲(chǔ)器1007A和具有顯示存儲(chǔ)器1008B的顯示卡1008A。顯示卡1008A可以使用一些主存儲(chǔ)器1007A來存儲(chǔ)顯示信息。計(jì)算機(jī)1001A直接或間接地通過一個(gè)或多個(gè)網(wǎng)絡(luò)510可通信地連接至應(yīng)用服務(wù)提供者505和提供存儲(chǔ)內(nèi)容506的一個(gè)或多個(gè)內(nèi)容服務(wù)提供者502。在實(shí)施例中,應(yīng)用服務(wù)提供者505包括Gettman等人描述的類型的城市服務(wù)器。計(jì)算機(jī)1001A包括或可以訪問源內(nèi)容磁盤高速緩沖存儲(chǔ)器1021和輔助頁(yè)(secondarypage)高速緩沖存儲(chǔ)器1020。計(jì)算機(jī)1001A在顯示器1009上顯示紋理和其他圖形圖像或題材。在一個(gè)實(shí)施例中,計(jì)算機(jī)1001A包括基于PCI總線的個(gè)人計(jì)算機(jī)、工作站、PDA、TV機(jī)頂盒、移動(dòng)電話等。
三維虛擬空間瀏覽器1001B包括初始化邏輯1002、虛擬空間顯示邏輯1004、高速緩沖存儲(chǔ)器輸入/輸出(I/O)線程1006、窗口生成線程1022、及控制/繪制線程1012。線程1006、1022、1012由虛擬空間顯示邏輯1004與操作系統(tǒng)518一起生成,用于執(zhí)行此處描述的功能。
一般,初始化邏輯1002詢問顯示卡1008A,確定顯示卡提供什么圖形顯示功能,開啟或關(guān)掉這些功能(包括提供所需的參數(shù)值),并基于可用的功能和資源調(diào)整該卡的應(yīng)用。由于不同品牌的圖形卡提供不同類型的顯示功能,所以提供初始化邏輯1002提供前述功能,從而使得三維虛擬空間瀏覽器1001B能夠與多種不同類型的圖形卡交互操作。例如,顯示卡1008A可以提供用于改善其顯示的圖形圖像的外觀的抗失真功能。初始化邏輯1002可以檢測(cè)顯示卡1008A中的抗鋸齒失真功能(anti-aliasing function)的存在,并可以提供用于使該卡能夠適當(dāng)?shù)嘏渲迷摴δ艿脑O(shè)置。
另外,在實(shí)施例中,虛擬空間顯示邏輯1004與顯示存儲(chǔ)器1008B交互,以在顯示存儲(chǔ)器中顯示相對(duì)較小數(shù)量的高分辨率紋理和相對(duì)較大數(shù)量的低分辨率紋理。以此方式,不斷更新顯示存儲(chǔ)器1008B,以存儲(chǔ)與鄰近虛擬三維環(huán)境中的特定用戶視點(diǎn)的虛擬位置相關(guān)的高分辨率紋理(相對(duì)較小數(shù)量的高分辨率紋理)、以及出現(xiàn)在相對(duì)于用戶視點(diǎn)較遠(yuǎn)位置處的所有紋理(相對(duì)較大數(shù)目的低分辨率紋理)。此處進(jìn)一步描述用于將恰當(dāng)數(shù)量的紋理保存在顯示存儲(chǔ)器1008B中的技術(shù)。
在實(shí)施例中,內(nèi)容服務(wù)提供者502的內(nèi)容506包括一個(gè)或多個(gè)HTML文檔或Web頁(yè)。計(jì)算機(jī)1001A可以通過經(jīng)由網(wǎng)絡(luò)510與內(nèi)容服務(wù)提供者502通信,在任何時(shí)候獲取內(nèi)容506的更新副本。另外,可以使用源內(nèi)容磁盤高速緩沖存儲(chǔ)器1021將內(nèi)容506本地高速緩存在計(jì)算機(jī)1001A處。例如,源內(nèi)容磁盤高速緩沖存儲(chǔ)器1021可以存儲(chǔ)最近使用的源內(nèi)容(諸如,HTML文檔或Web頁(yè))、或用于生成在相對(duì)于虛擬三維環(huán)境的用戶的之后-當(dāng)前(then-current)視點(diǎn)的當(dāng)前視場(chǎng)中的紋理、或用于生成當(dāng)由虛擬三維環(huán)境中的用戶位置顯示時(shí)隨后可以被用戶看到的紋理。
高速緩沖存儲(chǔ)器I/O線程1006用于向紋理高速緩沖存儲(chǔ)器1020加載紋理和頁(yè)面調(diào)度紋理(paging texture)。高速緩沖存儲(chǔ)器I/O線程1006還用于將由源內(nèi)容506生成的更新紋理保存到紋理高速緩沖存儲(chǔ)器1020中。紋理生成線程1022用于利用適當(dāng)?shù)脑磧?nèi)容磁盤高速緩沖存儲(chǔ)器1021,從內(nèi)容服務(wù)提供者502獲取內(nèi)容506、以及基于該內(nèi)容來生成紋理??刂坪吞峤痪€程1012用于全面控制系統(tǒng)元件,并用于根據(jù)顯示卡的功能將紋理提交到顯示卡1008A及其顯示存儲(chǔ)器1008B中。
圖1C是示出用于準(zhǔn)備顯示虛擬三維環(huán)境中的紋理的過程的高度綜述的流程圖。在步驟130中,在存儲(chǔ)器中創(chuàng)建并存儲(chǔ)第一紋理庫(kù)和第二紋理庫(kù)。一種方法是,以兩種版本定義并存儲(chǔ)從同一源內(nèi)容得出的每個(gè)紋理(包括高分辨率紋理和低分辨率紋理)??捎玫闹鞔鎯?chǔ)器或顯示存儲(chǔ)器存儲(chǔ)較高分辨率紋理的相對(duì)較小的庫(kù)和較低分辨率紋理的相對(duì)較大的庫(kù)。不存在對(duì)每個(gè)庫(kù)的尺寸的特殊限制。小庫(kù)主要包括靠近虛擬三維環(huán)境中的用戶的當(dāng)前或顯著視點(diǎn)的紋理。較大的庫(kù)主要包括相對(duì)于用戶視點(diǎn)隱喻地處于較遠(yuǎn)位置的紋理。在可選實(shí)施例中,可以將較大的紋理庫(kù)拆分為用于加載和生成紋理的庫(kù)和用于顯示紋理的單獨(dú)庫(kù)。
在一個(gè)實(shí)施例中,所有可能紋理的低分辨率版本都保存在與顯示客戶端相關(guān)的局部大容量存儲(chǔ)器中,諸如用于計(jì)算機(jī)1001A的磁盤存儲(chǔ)器。內(nèi)容服務(wù)提供者502或應(yīng)用服務(wù)提供者505可以周期性地生成用于虛擬環(huán)境的所有顯示位置(例如,虛擬城市中的顯示窗口)的低分辨率紋理,并一次性地向三維虛擬空間瀏覽器1001B提供這些低分辨率紋理。例如,瀏覽器1001B可以在啟動(dòng)或初始化時(shí),下載并存儲(chǔ)所有的低分辨率紋理,或作為部分安裝過程。結(jié)果,瀏覽器1001B僅需要生成用于靠近用戶的視點(diǎn)的顯示位置、以及用于遠(yuǎn)程窗口(其中,由于接收到了來自內(nèi)容服務(wù)提供者的低分辨率紋理,所以改變了其源內(nèi)容)的高分辨率紋理。當(dāng)瀏覽器生成高分辨率紋理時(shí),也同時(shí)生成了更新的低分辨率紋理。
在這種方法的一種變形中,如果任何紋理都需要紋理生成,則可以為正在經(jīng)歷有效生成的紋理保存確定數(shù)量的高分辨率紋理庫(kù)條目。由于高分辨率紋理庫(kù)中存在有限數(shù)量的條目,所以將這些條目分配給具有高紋理優(yōu)先級(jí)值的對(duì)象。
在步驟136中,創(chuàng)建虛擬三維環(huán)境。為虛擬三維環(huán)境中的每個(gè)四邊形設(shè)置四邊形標(biāo)識(shí)符。每個(gè)紋理均具有紋理標(biāo)識(shí)符。將紋理標(biāo)識(shí)符分配給每個(gè)四邊形。
在步驟138中,確定紋理優(yōu)先級(jí)值,并將其分配給每個(gè)四邊形。紋理優(yōu)先級(jí)值表示虛擬環(huán)境中顯示紋理的當(dāng)前優(yōu)先級(jí)順序。在一個(gè)實(shí)施例中,紋理優(yōu)先級(jí)值取決于多個(gè)因素,諸如,四邊形是否看得見、用戶是否已經(jīng)選擇四邊形作為目的地、四邊形距離觀察者多遠(yuǎn)、以及四邊形相對(duì)于觀察者的角度。基于觀察者的之后-當(dāng)前位置、觀察角度、以及用戶交互,周期性地重新計(jì)算每個(gè)紋理優(yōu)先級(jí)值。另外,重新分配紋理庫(kù)中的條目,以提供最佳應(yīng)用。具體地,刪除用于已經(jīng)變得距離觀察者的虛擬視點(diǎn)太遠(yuǎn)的紋理的紋理庫(kù)中的條目??梢詮脑磧?nèi)容重新生成以改變的源內(nèi)容為基礎(chǔ)的紋理。
在步驟134中,將狀態(tài)值分配給高分辨率紋理庫(kù)中的每個(gè)紋理。此處的其他部分進(jìn)一步描述狀態(tài)值的使用。
在前述方法中,當(dāng)顯示位置從用戶的視點(diǎn)進(jìn)入視界中時(shí),瀏覽器1001B從紋理高速緩沖存儲(chǔ)器獲取用于可見顯示位置的高分辨率紋理并顯示它們。如果自從上次顯示起,用于這種紋理的源內(nèi)容已經(jīng)改變,那么可以重新生成高分辨率紋理并顯示。希望重新生成過程比從存儲(chǔ)器加載和顯示高分辨率紋理慢得多,且有可能用完存儲(chǔ)器,否則可以用來顯示虛擬環(huán)境中的附加高分辨率紋理的存儲(chǔ)器。所以,在可選的方法中,可以利用服務(wù)器來完成所有高分辨率紋理的生成,并且當(dāng)每個(gè)紋理都進(jìn)入視界中時(shí),瀏覽器1001B可以通過網(wǎng)絡(luò)連接將每個(gè)高分辨率紋理下載到服務(wù)器。
另外,在一種方法中,如果與四邊形相關(guān)的高分辨率紋理庫(kù)條目不具有當(dāng)需要顯示時(shí)所加載的高分辨率紋理,但相應(yīng)的高分辨率紋理在磁盤上可用的話,則使用并顯示低分辨率紋理,并調(diào)度高分辨率紋理用于加載。
在實(shí)施例中,將低分辨率紋理分配給如下所述的低分辨率紋理庫(kù)。為從用戶的視點(diǎn)看得見的所有四邊形、或位于其特定距離中的所有四邊形(沒有為其加載高分辨率紋理)提供低分辨率紋理庫(kù)中的條目。調(diào)度分配有低分辨率紋理庫(kù)中的條目但在存儲(chǔ)器中不存在的任何低分辨率紋理用于加載。
一個(gè)實(shí)施例還使用了標(biāo)準(zhǔn)技術(shù),其中,每個(gè)紋理都包括多個(gè)圖像分辨率或“多級(jí)分辨率顯示(mipmap)”,以在觀察者的虛擬位置移動(dòng)期間,改善顯示性能并提供更高質(zhì)量的顯示。
因而,此處的方法使用具有變化分辨率或具有每個(gè)紋理對(duì)象中的多個(gè)圖像分辨率的多個(gè)版本的紋理。其與圖像細(xì)節(jié)層次通過模型上的虛擬多邊形的數(shù)目的改變而改變的現(xiàn)有方法相反。
在一個(gè)實(shí)施例中,主存儲(chǔ)器1007A包括紋理集列表(texturebank list)1007B。紋理集列表1007B是用于標(biāo)識(shí)或引用所有的可用高分辨率紋理(其被之后-當(dāng)前使用、設(shè)置,用于加載或生成)的數(shù)據(jù)結(jié)構(gòu)。在實(shí)施例中,使用下列三個(gè)數(shù)據(jù)結(jié)構(gòu)來確定紋理集中應(yīng)該是什么紋理,并在下述的主線程和下述的用于加載和保存的工作線程之間進(jìn)行協(xié)調(diào)。在可選實(shí)施例中,可以存在兩個(gè)庫(kù)—用于加載和生成紋理的紋理集和用于顯示紋理的素材集。
第一,LiveQuadGeneratePriorityList紋理存儲(chǔ)適于被激活、按照優(yōu)先級(jí)排序的四邊形列表。激活的四邊形在世界上看得到且其紋理根據(jù)包括在源內(nèi)容中的信息反復(fù)更新。第二,LiveQuadGeneratePriorityList存儲(chǔ)足夠靠近以保證生成的、按照優(yōu)先級(jí)排序的不具有有效紋理或具有過期紋理的四邊形列表。第三,QuadDisplayPriorityList存儲(chǔ)具有有效紋理且適于顯示的四邊形列表。在本文中,“適于顯示”是指四邊形離觀察者的視點(diǎn)足夠近、從而可以被看見。四邊形列表按照優(yōu)先級(jí)排序,且不包括存儲(chǔ)器或磁盤中的任何不具有有效紋理的四邊形。具有過期紋理的四邊形可以位于QuadGeneratePriorityList和QuadDisplayPriorityList上。
功能綜述顯示圖形紋理——主線程圖2是示出用于處理對(duì)紋理進(jìn)行更新的過程的流程圖。圖3是示出用于處理動(dòng)態(tài)更新四邊形的過程的流程圖。圖4是示出用于處理動(dòng)態(tài)更新紋理的過程的流程圖。圖5是示出用于加載或保存紋理的過程的流程圖。圖2、圖3、圖4以及圖5的各種實(shí)施例提供了一種用于顯示圖形紋理的技術(shù),該圖形紋理可以基于與紋理有關(guān)的外部?jī)?nèi)容的改變而快速更新,且當(dāng)用戶視點(diǎn)在虛擬三維環(huán)境中進(jìn)行導(dǎo)航或與虛擬空間瀏覽器交互時(shí)可以迅速被顯示。盡管圖2、圖3、圖4以及圖5均示出了事件的某個(gè)流程,但是本發(fā)明的實(shí)施例不限于該流程中的這些步驟。可以執(zhí)行其他步驟,可以省略一些步驟,且可以并行執(zhí)行或以不同的順序執(zhí)行這些步驟。
在實(shí)施例中,圖2、圖3以及圖4的過程被執(zhí)行為作為虛擬顯示邏輯1004(圖1)的一部分的主處理線程。
首先參考圖2,用于處理對(duì)紋理的更新的過程包括,在步驟202中,確定是否經(jīng)過了特定或預(yù)定義的周期。選擇特定周期,以提供用于紋理顯示的適當(dāng)?shù)母轮芷凇@?,在一個(gè)實(shí)施例中,特定周期為0.1秒,所以顯示每秒更新十(10)次。
如果這樣的話,則在步驟204中,確定一個(gè)或多個(gè)紋理更新是否可用。在本文中,更新是指新紋理、或根據(jù)源內(nèi)容改變的紋理。例如,在圖1B的情境中,計(jì)算機(jī)1001A將請(qǐng)求內(nèi)容服務(wù)提供者502服務(wù)于內(nèi)容506的當(dāng)前副本,并且窗口生成線程1022將處理源內(nèi)容并為控制和提交線程1012提供更新紋理。如果沒有一個(gè)應(yīng)用了紋理的四邊形是“激活的(live)”,則一旦源內(nèi)容的處理結(jié)束,步驟204將估算為真,并且轉(zhuǎn)到步驟206,控制究竟更新哪個(gè)紋理。如果應(yīng)用了紋理的一個(gè)或多個(gè)四邊形是“激活的”,則一旦源內(nèi)容的初始處理結(jié)束,步驟204將估算為真,然后當(dāng)源內(nèi)容確定需要改變看到的紋理時(shí),重復(fù)任意次。以前下載的一些源內(nèi)容可以包括確定何時(shí)對(duì)紋理進(jìn)行更新所需的所有信息,諸如具有動(dòng)畫圖像的網(wǎng)頁(yè)。其他源內(nèi)容可以定義訂閱由內(nèi)容服務(wù)提供者502(諸如新聞?dòng)浾?news ticker))公布的事件的過程,其中,這些事件表示何時(shí)需要對(duì)紋理進(jìn)行更新。
所以,此處的方法使得能夠在特定周期內(nèi)對(duì)動(dòng)態(tài)變化的任何形式的源內(nèi)容進(jìn)行多次更新,而不論其是包括諸如動(dòng)畫圖像、航線飛行到達(dá)或出發(fā)信息的激活可見內(nèi)容還是為諸如新聞故事或最近特別提供的僅被定期更新的內(nèi)容。
在一個(gè)實(shí)施例中,塊206中的更新紋理可以包括動(dòng)態(tài)處理更新后的四邊形。在本文中,“四邊形”是可以顯示紋理的四條(4)邊的對(duì)象。在一個(gè)實(shí)施例中,四邊形是顯示在虛擬城市中的虛擬建筑的表面,所以顯示四邊形中的紋理使得虛擬建筑的顯示窗口中的紋理的顯示內(nèi)容顯示出來。
在某些實(shí)施例中,相同的紋理可以顯示在多個(gè)四邊形上。每個(gè)紋理都具有唯一的標(biāo)識(shí)符,且每個(gè)四邊形都設(shè)有唯一的標(biāo)識(shí)符。由三維虛擬空間瀏覽器1001B保存的四邊形列表數(shù)據(jù)結(jié)構(gòu)將每個(gè)四邊形標(biāo)識(shí)符映射到用于指定將在相關(guān)四邊形上顯示什么紋理的紋理標(biāo)識(shí)符上。另外,紋理列表數(shù)據(jù)結(jié)構(gòu)將特定的紋理標(biāo)識(shí)符映射到一個(gè)或多個(gè)四邊形上。
圖3是示出用于處理動(dòng)態(tài)更新四邊形的過程的流程圖?,F(xiàn)在參考圖3,在步驟302中,執(zhí)行測(cè)試以確定是否已經(jīng)經(jīng)過了指定或預(yù)定義的周期。步驟302用于概括地表明,可以根據(jù)定時(shí)器、進(jìn)度表、或響應(yīng)于事件,反復(fù)執(zhí)行圖3的過程。在一個(gè)實(shí)施例中,步驟302與1/3秒定時(shí)器相關(guān),所以,圖3的過程每秒重復(fù)三(3)次。
如果已經(jīng)經(jīng)過了指定時(shí)間,則在步驟304中,更新四邊形生成列表。四邊形生成列表是由三維虛擬空間瀏覽器1001B保存的數(shù)據(jù)結(jié)構(gòu),用于標(biāo)識(shí)其紋理需要從源數(shù)據(jù)生成或更新的四邊形。步驟304的作用在于,確定是否需要生成四邊形,并且如果需要,則將四邊形添加至生成列表。
在步驟306中,參考紋理集并執(zhí)行測(cè)試,以確定是否有任何紋理已經(jīng)完成生成。如果這樣的話,則控制轉(zhuǎn)至步驟320,在該步驟中,將引用該紋理的完整四邊形添加到四邊形顯示列表中。從而,完整四邊形變得可以在隨后的過程中用于顯示。更新與完整紋理相關(guān)的紋理集條目,以表明需要在步驟318中將該紋理保存在紋理高速緩沖存儲(chǔ)器中。在步驟316中,如果步驟306的測(cè)試為真,則從四變形生成列表中刪除完整四邊形。
然而,如果步驟306的測(cè)試為假,或在步驟320、318、316的循環(huán)中處理了所有的完整四邊形之后,控制轉(zhuǎn)至步驟308,在該步驟中執(zhí)行測(cè)試以確定紋理集中標(biāo)識(shí)的任何四邊形是否發(fā)生了任何超時(shí)。步驟308的目的在于,確定四邊形是不是在特定周期中生成并顯示的。在這種情況下,該過程通過策略優(yōu)先恢復(fù)不完全四邊形使用的資源,從而可以使用相同的源處理不同的四邊形。如果步驟308的測(cè)試為真,則在步驟322中,從四邊形生成列表中刪除相關(guān)的四邊形。
一旦不存在由步驟308確定的顯著超時(shí),則在步驟310中,更新四邊形顯示列表。四邊形顯示列表標(biāo)識(shí)哪些四邊形最適合顯示。例如,在一個(gè)實(shí)施例中,四變形顯示列表不包括不可見的四邊形。所以,四邊形顯示列表的改變主要由虛擬三維環(huán)境中的觀察者或用戶的虛擬位置驅(qū)動(dòng)。
在步驟312中,根據(jù)四邊形顯示列表更新紋理集。例如,在一個(gè)實(shí)施例中,步驟312包括確定紋理集中的多達(dá)五(5)個(gè)條目中的哪個(gè)引用了最不適合用戶的當(dāng)前視場(chǎng)的四邊形,以及用來自四邊形顯示列表的頂部的、引用來自當(dāng)前不在紋理集中的四邊形的紋理的條目來代替它們。為最新分配的紋理集條目標(biāo)記表明它們從存儲(chǔ)器或儲(chǔ)存器加載所需要的狀態(tài)值。
在步驟314中,將用于從源內(nèi)容生成或再生的紋理的內(nèi)容源分配給紋理集中的多個(gè)條目。在一個(gè)實(shí)施例中,內(nèi)容源可以從四邊形生成列表數(shù)據(jù)結(jié)構(gòu)獲取。步驟314具有進(jìn)一步定義什么紋理應(yīng)該在紋理集中的作用。
圖4是示出用于處理動(dòng)態(tài)更新紋理的過程的流程圖。在步驟402中,執(zhí)行測(cè)試以確定是否已經(jīng)經(jīng)過了預(yù)定義的時(shí)間。在一個(gè)實(shí)施例中,步驟402用作具有0.1秒的持續(xù)時(shí)間的定時(shí)器,從而使得圖4的過程每秒鐘重復(fù)10次。如果沒有經(jīng)過預(yù)定義的時(shí)間,則圖4的過程終止在步驟416。
如果定時(shí)器已經(jīng)經(jīng)過預(yù)定義的時(shí)間,則在步驟406中,執(zhí)行測(cè)試以確定預(yù)先被標(biāo)記為需要加載的紋理集中的任何紋理是否已經(jīng)完成加載,并確定現(xiàn)在是否已經(jīng)標(biāo)記為加載入了顯示卡存儲(chǔ)器中。如果是這樣的話,則在步驟408中,在虛擬三維環(huán)境中使用該紋理,并在步驟410中,將與該紋理相關(guān)的紋理集條目標(biāo)記為“可見的”,表示其當(dāng)前正被用在虛擬三維環(huán)境中,并且適于在任何點(diǎn)被其他紋理代替(如果用戶的視點(diǎn)改變的話),從而使其他紋理更適用于那個(gè)紋理集條目。
在步驟406、408、410的循環(huán)中對(duì)所有加載的紋理進(jìn)行處理之后,在步驟412中,執(zhí)行測(cè)試以確定是否將任何紋理都標(biāo)記為了被保存。如果這樣的話,則在步驟414中,將紋理集中的紋理設(shè)置為可見的。如果這些紋理距離觀察者或用戶的視點(diǎn)太遠(yuǎn)的話,可以將其刪除。
加載并保存紋理——工作線程圖5是示出用于加載或保存紋理的過程的流程圖。在一個(gè)實(shí)施例中,圖5的過程在三維虛擬空間瀏覽器1001B的虛擬空間顯示邏輯1004的工作線程中執(zhí)行。圖5的過程可以用于將紋理加載到計(jì)算機(jī)的視頻顯示卡中,諸如圖1的卡1008??蛇x地,圖5的過程可以用于將紋理加載到用于驅(qū)動(dòng)顯示器的共享存儲(chǔ)器中的紋理集中,或加載到連接至顯示器或由顯示器訪問的任何其他的適當(dāng)?shù)拇鎯?chǔ)位置中。圖5的過程特別適于加載或存儲(chǔ)大的、高分辨率的紋理。
在步驟502中,執(zhí)行測(cè)試以確定紋理集中的任何紋理是否已被標(biāo)記上了表示需要加載或保存的狀態(tài)值。如果紋理集中沒有這樣標(biāo)記的紋理,則在圖5的步驟504中,等待、中止操作、或“睡眠”指定的短周期。
另外,對(duì)紋理集中被標(biāo)記為用于加載或保存的每個(gè)紋理執(zhí)行步驟506、508、510、512的循環(huán)。在步驟506中,選擇用于加載或保存的標(biāo)記紋理。在步驟508中,將在紋理集中選擇的紋理標(biāo)記為之后-當(dāng)前進(jìn)行加載或保存操作。在步驟510中,適當(dāng)?shù)貜闹T如磁盤的大容量存儲(chǔ)器加載或保存紋理,或?qū)⒓y理加載或存儲(chǔ)到大容量存儲(chǔ)器中。在步驟512中,將紋理標(biāo)記為已經(jīng)加載或保存。
通過表明正在執(zhí)行工作線程的紋理集條目,從而在工作線程正在其當(dāng)前的紋理集條目上運(yùn)行的同時(shí),允許主線程根據(jù)由用戶的視點(diǎn)的變化導(dǎo)致的更新后的四邊形優(yōu)先級(jí),刪除其他紋理集條目的需要加載和需要保存狀態(tài)。
總的來說,圖5的方法提供了一種有選擇地將紋理加載到存儲(chǔ)器并根據(jù)其將被顯示的順序列表顯示這些紋理的方法。例如,當(dāng)顯示卡1008具有相對(duì)較小的存儲(chǔ)空間時(shí),可以使用圖5的過程來僅加載直接位于虛擬三維環(huán)境中的觀察者、用戶、或?yàn)g覽器的虛擬位置前方的那些紋理。可選地,當(dāng)顯示卡1008具有大存儲(chǔ)空間時(shí),可以標(biāo)記紋理集中的更大數(shù)量的紋理,然后利用圖5的過程顯示。
用于將要加載或保存的紋理集的信息可以直接保存在紋理庫(kù)中,也可以保存為操作隊(duì)列。該隊(duì)列向主線程提供了對(duì)于操作順序的更大的控制權(quán),并且對(duì)于紋理庫(kù)的更大的總尺寸變得更有效率。
作為圖5的可選項(xiàng),可以使用多種其他方法。如果虛擬環(huán)境包括大量的小紋理,則當(dāng)觀察者來回移動(dòng)時(shí),確保存儲(chǔ)器中的最佳設(shè)置,在計(jì)算成本方面和從磁盤加載大量的較小方面都會(huì)比較昂貴。根據(jù)一種方法,可以將小紋理保存在映射到存儲(chǔ)器中的單個(gè)文檔中。在該方法的變形中,可以將該文檔保持在打開狀態(tài),并通過檢索文檔中的適當(dāng)位置,在適當(dāng)?shù)臅r(shí)間讀取每個(gè)小紋理。這個(gè)變形的方法僅影響磁盤上的紋理排列,并減少了磁盤開銷。
在第二種方法中,例如,通過總體地在虛擬環(huán)境上覆蓋大表格,并將所有對(duì)象組合在單一柵格中,將虛擬環(huán)境分隔為多個(gè)部分。將最接近觀察者的部分中的紋理保存在存儲(chǔ)器中。當(dāng)觀察者來回移動(dòng)時(shí),刪除紋理的所有部分,并加載新的部分。這種方法大大減小了計(jì)算哪些小紋理應(yīng)該在存儲(chǔ)器中的計(jì)算開銷。
在第三種方法中,將前述的兩個(gè)可選方法結(jié)合起來,使得單個(gè)部分中的紋理一起存儲(chǔ)在同一文檔中。所有部分可以使用一個(gè)文檔,也可以每個(gè)部分使用一個(gè)文檔。這種方法的結(jié)合是這樣的如果在至少一個(gè)對(duì)象上使用紋理,則其可以使用在多個(gè)部分中,這就需要保存至少一次。
在第四種可選方法中,將紋理以壓縮格式保存在主存儲(chǔ)器中,并在需要時(shí)解壓縮??梢詫⑦@種方法與上述的第二種方法相結(jié)合,以減少計(jì)算需要哪些紋理的計(jì)算成本,但是解壓縮紋理的計(jì)算成本又會(huì)增加計(jì)算成本。
在第五種可選方法中,將多個(gè)紋理打包到單個(gè)硬件紋理中。例如,多個(gè)圖形卡將僅處理像素中的圖像寬度和高度表示為2的多次冪(例如,256、512、1024、2048)的紋理。如果所需的尺寸不是這些尺寸之一,則浪費(fèi)了分配給硬件紋理的一些存儲(chǔ)器。為了避免這種浪費(fèi),將存儲(chǔ)器配置為比實(shí)際紋理尺寸“更寬”或“更高”的量,這種存儲(chǔ)器存儲(chǔ)多個(gè)所需的紋理。例如,如果所需的紋理為100×64像素,則系統(tǒng)可以分配512×64的硬件紋理,并將五個(gè)所需的紋理水平打包過硬件紋理。在顯示時(shí),系統(tǒng)從硬件紋理選擇所需的區(qū)域。在上述情況下,由于將五個(gè)紋理放到原來保存四個(gè)紋理的空間中,所以將硬件紋理存儲(chǔ)器應(yīng)用減少了20%。
在第六種方法中,將多個(gè)紋理壓縮在磁盤上,以節(jié)省磁盤空間并減少用于加載或保存紋理的磁盤工作時(shí)間。盡管這種方法可能會(huì)增加用于保存紋理的準(zhǔn)備時(shí)間和加載后時(shí)間,但是如果磁盤工作是限制因素,并且CPU處理功率可接受,這種折中是適當(dāng)?shù)?。由于紋理在尺寸上將會(huì)不同,所以使用這種方法可以使上述的第一或第三種方法變得復(fù)雜。通常,如果重新生成并重新保存相同的紋理,相同的紋理將發(fā)生尺寸上的變化。如果紋理尺寸增加,則其不再能放在文檔中的相同空間中。如果紋理由于重新生成而變得更小,則其可以放在文檔中的相同空間中,但會(huì)浪費(fèi)空間。
狀態(tài)值的使用上述方法是指,可以使用用于使線程確定怎樣處理紋理集的狀態(tài)值來標(biāo)記紋理集中的條目。在一個(gè)實(shí)施例中,有效的狀態(tài)值包括可用、可見、持續(xù)可見、生成、加載、及保存??捎脿顟B(tài)值表示不與紋理集條目相關(guān)的有效紋理??梢姞顟B(tài)值表示相關(guān)紋理集條目具有加載在存儲(chǔ)器中的紋理,并且虛擬環(huán)境中的相關(guān)四邊形具有高紋理優(yōu)先級(jí)值。持續(xù)可見的狀態(tài)值表示上次檢驗(yàn)時(shí)該紋理是可見的,但相關(guān)四邊形不再具有高紋理優(yōu)先級(jí)。
生成的狀態(tài)值表示正在為紋理集條目生成紋理內(nèi)容。加載的狀態(tài)值表示已經(jīng)向四邊形分配了紋理,并且在諸如磁盤或網(wǎng)絡(luò)存儲(chǔ)器的存儲(chǔ)位置存在高分辨率紋理,該高分辨率紋理已經(jīng)被調(diào)度用來從存儲(chǔ)位置加載。當(dāng)條目具有加載的狀態(tài)值時(shí),相關(guān)的四邊形使用虛擬三維環(huán)境中的低分辨率紋理。
保存的狀態(tài)值表示,用于紋理的生成已經(jīng)完成,并且正處于保存的過程中。在保存過程中,如果相關(guān)的四邊形在虛擬三維環(huán)境中是看得見的,則可以顯示紋理。一旦保存了,庫(kù)條目就基于四邊形紋理優(yōu)先級(jí)而變?yōu)榭梢姷幕蚩捎玫摹?br> 在一個(gè)實(shí)施例中,使用三個(gè)加載狀態(tài)和三個(gè)保存狀態(tài)來管理此處所述的主線程和工作線程之間的任務(wù)1、動(dòng)作(加載或保存)請(qǐng)求(由主線程設(shè)置)2、動(dòng)作(加載或保存)進(jìn)行中(由工作線程設(shè)置)3、動(dòng)作(加載或保存)完成(由工作線程設(shè)置)。
主線程可以將紋理集中的多個(gè)條目標(biāo)記為加載或保存。如果紋理優(yōu)先級(jí)改變,則主線程可以刪除還未起作用的任何標(biāo)記或可以刪除當(dāng)前正在工作線程中使用的任何標(biāo)記。不能刪除當(dāng)前正在進(jìn)行的動(dòng)作。
當(dāng)存在多個(gè)未完成的加載和保存操作時(shí),工作線程可以平衡多個(gè)操作,使得即使在需要執(zhí)行一系列保存操作或發(fā)生對(duì)話的時(shí)候,也能執(zhí)行所有的加載操作。如果一直給予加載操作優(yōu)先級(jí)的話,則當(dāng)觀察者移動(dòng)得足夠快以確保至少一個(gè)加載總是未完成時(shí),保存操作將從不發(fā)生。這將導(dǎo)致一直處于生成紋理的處理停止,直到觀察者停止在虛擬環(huán)境中進(jìn)行導(dǎo)航。這將最大化任何時(shí)候看得見的大紋理的數(shù)目,但是將增加觀察者移入該環(huán)境中還未生成大紋理的部分的可能性。
可選地,如果一直給予保存操作優(yōu)先級(jí),則生成速度被最大化,從而導(dǎo)致生成過程的額外磁盤業(yè)務(wù)量,并進(jìn)一步減少了可用于加載的磁盤帶寬。這將最小化觀察者移入沒有大紋理的區(qū)域的可能性,但減少了移動(dòng)時(shí)看得見的大紋理的數(shù)目。
在一種方法中,如果有任何加載操作未完成,則需要在每個(gè)保存操作之間執(zhí)行至少特定數(shù)量的加載操作。結(jié)果,限制了連續(xù)保存操作的最大數(shù)目,所以不存在足夠長(zhǎng)時(shí)間的加載操作阻塞,以使觀察者移動(dòng)得非??拷哂形赐瓿杉虞d操作的對(duì)象。
生成紋理可以通過兩種方法生成紋理。第一,由于紋理相對(duì)于相關(guān)的源內(nèi)容丟失或過期,所以可以再生紋理。第二,由于顯示紋理的四邊形可以看起來非常近,并可以被標(biāo)記為激活的四邊形,所以可以再生紋理,從而可以基于源內(nèi)容中所包括的信息不斷更新顯示在四邊形上的紋理。例如,后一種方法可以使四邊形顯示動(dòng)畫。
在每種方法中,源內(nèi)容的變化使得再生紋理。例如,可以將諸如能在傳統(tǒng)網(wǎng)絡(luò)瀏覽器中顯示的源內(nèi)容提交給虛擬存儲(chǔ)器窗口,并可以在顯示在四邊形上的紋理中再生這個(gè)虛擬存儲(chǔ)器窗口的更新。更新可以包括Web頁(yè)狀態(tài)的改變,諸如動(dòng)畫圖像。三維虛擬顯示瀏覽器1001B可以合并實(shí)現(xiàn)傳統(tǒng)的網(wǎng)絡(luò)瀏覽器(諸如,Mozilla)功能的軟件單元,用于加載包括用于紋理的源內(nèi)容的Web頁(yè)、翻譯Web頁(yè)的HTML源代碼、及確定通過這種譯碼生成什么紋理更新。
在一個(gè)實(shí)施例中,可以延長(zhǎng)Web頁(yè)加載時(shí)生成的更新,直到頁(yè)面加載完成為止。將Web頁(yè)請(qǐng)求的每個(gè)更新的細(xì)節(jié)(諸如,影響區(qū)域)傳遞給三維虛擬空間瀏覽器1001B。三維虛擬空間瀏覽器1001B每生成源就在存儲(chǔ)器中存儲(chǔ)一個(gè)位圖,并將受影響區(qū)域讀出到存儲(chǔ)器中的適當(dāng)位圖中。每次位圖由傳統(tǒng)瀏覽器確定而變化時(shí),再生高分辨率紋理。如果由于相關(guān)網(wǎng)頁(yè)加載完成或由于生成源離開激活狀態(tài)而使生成源變得無效時(shí),生成低分辨率版本的紋理,并將位圖數(shù)據(jù)保存到大容量存儲(chǔ)器中。
可以使用兩種方法執(zhí)行用于大紋理庫(kù)的動(dòng)態(tài)內(nèi)容生成。在第一種方法中,每個(gè)生成源都一直具有高分辨率紋理庫(kù)中的條目。在生成完成之前,條目將示出生成的內(nèi)容的任何先前版本。如果不存在先前內(nèi)容,則在生成完成之前,在虛擬三維環(huán)境中未實(shí)際使用紋理庫(kù)條目。在第二種方法中,生成源不自動(dòng)接收高分辨率紋理庫(kù)中的條目。這意味著,給定紋理可以處于高分辨率紋理庫(kù)(當(dāng)對(duì)象關(guān)閉并看得見時(shí))中,也可以處于生成源中(內(nèi)容過期),但是不保證其將會(huì)發(fā)生。通過與上述第一種方法相同的方式,處理具有高分辨率紋理庫(kù)中的條目的生成源。一旦不具有高分辨率紋理庫(kù)中的條目的生成源完成生成,生成的紋理就變得可以被復(fù)制到該庫(kù)中的下一個(gè)可用條目中。
應(yīng)用注解本方法對(duì)于使用了大量大紋理的虛擬三維環(huán)境中的紋理的顯示非常有用。例如,虛擬三維環(huán)境可以包括諸如虛擬城市中的虛擬街道或虛擬商店中的虛擬過道的一系列通道。根據(jù)元數(shù)據(jù)或標(biāo)記語(yǔ)言描述,在本系統(tǒng)外部定義這些紋理及其排列。
本文中的方法適用于其中的紋理提供信息內(nèi)容的環(huán)境,與其他的用于觀賞目的(例如,在視頻游戲的背景環(huán)境中、或作為游戲特征的一部分)的紋理顯示的方法不同。此處的方法可以使用用于為用戶提供具有超鏈接文檔性質(zhì)的交互的紋理中。在本方法中,信息承載(information-bearing)紋理用于形成或定義虛擬三維環(huán)境,而不僅僅用于呈現(xiàn)在該環(huán)境中。
本文中的方法還適用于大量紋理被呈現(xiàn)在平面虛擬表面或多邊形上的情況。用于這些紋理的源內(nèi)容可以來自遠(yuǎn)程源或本地源??梢酝ㄟ^多個(gè)第三方的大組來?yè)碛谢蚩刂朴糜谶@些紋理的源內(nèi)容。源內(nèi)容可以包括互聯(lián)網(wǎng)頁(yè)、電視屏幕截圖、移動(dòng)電話頁(yè)、游戲屏幕截圖、圖像、文檔、或視頻內(nèi)容等。紋理可以是動(dòng)態(tài)的并基于外部?jī)?nèi)容而變化。在用戶會(huì)話期間,遠(yuǎn)程源可以重定義使用哪個(gè)紋理以及它們位于環(huán)境中的什么地方??梢蕴峁┒鄠€(gè)動(dòng)畫紋理。
在一個(gè)實(shí)施例中,用戶不能通過與環(huán)境交互來修改虛擬環(huán)境中的紋理位置或內(nèi)容。
硬件綜述圖6是示出可以在其上執(zhí)行本發(fā)明的實(shí)施例的計(jì)算機(jī)系統(tǒng)600的框圖。計(jì)算機(jī)系統(tǒng)600包括用于傳送信息的總線602或其他通信機(jī)構(gòu)、以及與總線602連接的用于處理信息的處理器604。計(jì)算機(jī)系統(tǒng)600還包括連接至總線602的主存儲(chǔ)器606(諸如,隨機(jī)存取存儲(chǔ)器(RAM)或其他動(dòng)態(tài)存儲(chǔ)裝置),用于存儲(chǔ)將被處理器604執(zhí)行的信息或指令。主存儲(chǔ)器606還可以用于存儲(chǔ)在通過處理器604執(zhí)行將被執(zhí)行的指令期間的臨時(shí)變量或其他中間信息。計(jì)算機(jī)系統(tǒng)600進(jìn)一步包括連接至總線602的只讀存儲(chǔ)器(ROM)608或其他靜態(tài)存儲(chǔ)裝置,用于存儲(chǔ)用于處理器604的靜態(tài)信息和指令。存儲(chǔ)裝置610(諸如,磁盤或光盤)設(shè)置為連接至總線602,用于存儲(chǔ)信息和指令。
計(jì)算機(jī)系統(tǒng)600可以通過總線602連接至顯示器612(諸如,陰極射線管(CRT)),該顯示器用于向計(jì)算機(jī)用戶顯示信息。具有顯示存儲(chǔ)器611B的顯示卡611A可以連接至總線602,用于驅(qū)動(dòng)顯示器612。輸入裝置(包括字母數(shù)字鍵和其他鍵)614連接至總線602,用于向處理器604傳遞信息和指令選擇。其他類型的用戶輸入裝置為光標(biāo)控制裝置616,諸如,鼠標(biāo)、光標(biāo)運(yùn)動(dòng)球、或光標(biāo)方向鍵,用于向處理器604傳送方向信息和指令選擇并用于控制光標(biāo)在顯示器612上移動(dòng)。輸入裝置一般具有兩個(gè)軸(第一個(gè)軸(例如,x)和第二個(gè)軸(例如,y))上的兩個(gè)自由度,從而使得裝置可以在平面上指定位置。
本發(fā)明涉及用于執(zhí)行此處描述的方法的計(jì)算機(jī)系統(tǒng)600的使用。根據(jù)本發(fā)明的一個(gè)實(shí)施例,通過響應(yīng)于執(zhí)行主存儲(chǔ)器606中包括的一個(gè)或多個(gè)序列的一個(gè)或多個(gè)指令的處理器604的計(jì)算機(jī)系統(tǒng)600來執(zhí)行這些方法??梢詮闹T如存儲(chǔ)裝置610的其他機(jī)器可讀介質(zhì)將這些指令讀入主存儲(chǔ)器606中。包括在主存儲(chǔ)器606中的指令序列的執(zhí)行使得處理器604執(zhí)行此處描述的處理步驟。在可選實(shí)施例中,可以使用硬接線電路代替軟件指令或與軟件指令一起實(shí)現(xiàn)本發(fā)明。所以,本發(fā)明的實(shí)施例不限于硬件電路和軟件的任何具體組合。
此處使用的術(shù)語(yǔ)“機(jī)器可讀介質(zhì)”是指用于提供促使機(jī)器以特定方式運(yùn)轉(zhuǎn)的數(shù)據(jù)的任何介質(zhì)。在使用計(jì)算機(jī)系統(tǒng)600執(zhí)行的實(shí)施例中,涉及了多種機(jī)器可讀介質(zhì),例如,用于向處理器604提供用于執(zhí)行的指令的機(jī)器可讀介質(zhì)。這種介質(zhì)可以采用多種形式,包括但不限于,非易失性介質(zhì)、易失性介質(zhì)、及傳輸介質(zhì)。非易失性介質(zhì)包括,例如,光盤或磁盤,諸如存儲(chǔ)裝置610。易失性介質(zhì)包括動(dòng)態(tài)存儲(chǔ)器,諸如主存儲(chǔ)器606。傳輸介質(zhì)包括同軸電纜、銅線、及光纖,包括具有總線602的導(dǎo)線。傳輸介質(zhì)還可以采用聲波或光波的形式,諸如在無線電波和紅外線數(shù)據(jù)傳輸過程中生成的波等。
一般的機(jī)器可讀介質(zhì)的形式包括,例如,軟盤、軟磁盤、硬盤、磁帶、或其他磁性介質(zhì);CD-ROM、或其他光學(xué)介質(zhì);穿孔卡、紙帶、或其他具有孔圖案的物理介質(zhì);RAM、PROM、及EPROM和FLASH-EPROM、或其他存儲(chǔ)器芯片或盒;下文中所述的載波;或其他計(jì)算機(jī)可讀的介質(zhì)。
不同形式的機(jī)器可讀介質(zhì)可用于將一個(gè)或多個(gè)序列的一個(gè)或多個(gè)指令傳送到用于執(zhí)行的處理器604。例如,最初可以將指令攜帶在磁盤或遠(yuǎn)程計(jì)算機(jī)上。遠(yuǎn)程計(jì)算機(jī)可以將指令加載到其的動(dòng)態(tài)存儲(chǔ)器中,并使用調(diào)制解調(diào)器將指令發(fā)送到電話線上。計(jì)算機(jī)系統(tǒng)600的本地調(diào)制解調(diào)器可以接收電話線上的數(shù)據(jù)并可以使用紅外變送器將數(shù)據(jù)轉(zhuǎn)換為紅外信號(hào)。紅外檢測(cè)器可以接收紅外信號(hào)中攜帶的數(shù)據(jù),適當(dāng)?shù)碾娐房梢詫?shù)據(jù)放置在總線602上??偩€602將數(shù)據(jù)傳送到主存儲(chǔ)器606,處理器604從主存儲(chǔ)器獲取并執(zhí)行指令。主存儲(chǔ)器606接收的指令可以在處理器604執(zhí)行之前或之后隨意地存儲(chǔ)在存儲(chǔ)裝置610上。
計(jì)算機(jī)系統(tǒng)600還包括連接至總線602的通信接口618。連接至與局部網(wǎng)絡(luò)622連接的網(wǎng)絡(luò)鏈路620的通信接口618提供雙向數(shù)據(jù)通信。例如,通信接口618可以是綜合業(yè)務(wù)數(shù)字網(wǎng)(ISDN)卡或調(diào)制解調(diào)器,以向相應(yīng)類型的電話線提供數(shù)據(jù)通信連接。作為另一個(gè)實(shí)例,通信接口618可以是局域網(wǎng)絡(luò)(LAN)卡,用于向兼容的LAN提供數(shù)據(jù)通信連接。還可以實(shí)施無線電線路。在任何這樣的實(shí)施中,通信接口618都用于發(fā)送和接收用于攜帶表示各種類型信息的數(shù)字?jǐn)?shù)據(jù)流的電、電磁、或光信號(hào)。
網(wǎng)絡(luò)鏈路620一般提供通過一個(gè)或多個(gè)網(wǎng)絡(luò)與其他數(shù)據(jù)裝置的數(shù)據(jù)通信。例如,網(wǎng)絡(luò)鏈路620可以提供通過局部網(wǎng)絡(luò)622到主機(jī)624、或到由國(guó)際互聯(lián)網(wǎng)接入服務(wù)供應(yīng)商(ISP)626操作的數(shù)據(jù)裝置的連接。而ISP 626又通過現(xiàn)在一般被稱為“國(guó)際互聯(lián)網(wǎng)”628的環(huán)球數(shù)據(jù)包數(shù)據(jù)通信網(wǎng)絡(luò)提供數(shù)據(jù)通信業(yè)務(wù)。局部網(wǎng)絡(luò)622和國(guó)際互聯(lián)網(wǎng)628都使用攜帶數(shù)字?jǐn)?shù)據(jù)流的電、電磁、或光信號(hào)。通過各種網(wǎng)絡(luò)的信號(hào)以及網(wǎng)絡(luò)鏈路620上的且通過通信接口618信號(hào)(其將數(shù)字?jǐn)?shù)據(jù)傳送到計(jì)算機(jī)系統(tǒng)600或從計(jì)算機(jī)系統(tǒng)中傳送出數(shù)字?jǐn)?shù)據(jù))是傳輸信息的載波的典型形式。
計(jì)算機(jī)系統(tǒng)600可以通過網(wǎng)絡(luò)、網(wǎng)絡(luò)鏈路620、及通信接口618發(fā)送信息和接收數(shù)據(jù)(包括程序代碼)。在國(guó)際互聯(lián)網(wǎng)的實(shí)例中,服務(wù)器630可以通過國(guó)際互聯(lián)網(wǎng)628、ISP 626、局部網(wǎng)絡(luò)622、和通信接口618傳送用于應(yīng)用程序的請(qǐng)求代碼。
可以在接收到代碼時(shí),通過處理器604運(yùn)行所接收的代碼,和/或?qū)⑵浯鎯?chǔ)在存儲(chǔ)裝置610或其他非易失性存儲(chǔ)器中,用于以后執(zhí)行。通過這種方式,計(jì)算機(jī)系統(tǒng)600可以獲得載波形式的應(yīng)用代碼。
擴(kuò)展和可選實(shí)施例在前述的說明中,參考具體實(shí)施例說明了本發(fā)明。然而,很明顯,可以對(duì)本發(fā)明進(jìn)行各種修改和改變。例如,在各種實(shí)施例中,可以結(jié)合上述方法使用多種尺寸的紋理。可以將壓縮紋理用于此處所述的高分辨率或低分辨率的紋理中,從而,僅在顯示卡處的顯示之前執(zhí)行解壓縮??梢允褂弥鲃?dòng)(aggressive)有損壓縮來減小紋理的存儲(chǔ)大小??梢蕴峁┐鎯?chǔ)器中高速緩沖存儲(chǔ)器??梢越Y(jié)合多個(gè)不同的較小的紋理并存儲(chǔ)為一個(gè)單元,以減小整個(gè)存儲(chǔ)大小。所以,在一個(gè)實(shí)例中,可以合并用于虛擬三維環(huán)境的相鄰窗口的多個(gè)紋理,并呈現(xiàn)為單個(gè)紋理。可以存儲(chǔ)與用于生成紋理的近似的紋理相關(guān)的非紋理信息或向量細(xì)節(jié)。所參考的說明和附圖用于說明而不是用于限制本發(fā)明。
權(quán)利要求
1.一種管理大量圖形紋理的顯示的方法,其中,不是所有的所述紋理在任何時(shí)間都是可見的,所述方法包括以下機(jī)器執(zhí)行的步驟在存儲(chǔ)器中創(chuàng)建并存儲(chǔ)一個(gè)或多個(gè)高分辨率紋理庫(kù);在虛擬三維環(huán)境中的多邊形上顯示所述紋理;其中,一個(gè)或多個(gè)所述紋理顯示信息內(nèi)容并將所述信息內(nèi)容傳送給所述三維環(huán)境的觀察者,其中能夠以高細(xì)節(jié)層次來觀察一個(gè)或多個(gè)這些紋理,其中,一個(gè)或多個(gè)所述紋理具有基本相似的尺寸,并且其中,觀察者能夠與一個(gè)或多個(gè)所述紋理交互;其中,在一個(gè)或多個(gè)源中定義所述紋理的排列,并且其中,可以從一個(gè)或多個(gè)遠(yuǎn)程源獲取與所述紋理相關(guān)的所述信息內(nèi)容;以及其中,所述虛擬三維環(huán)境包括一條或多條通道,并且其中,沿著所述通道排列顯示信息內(nèi)容的一個(gè)或多個(gè)所述紋理。
2.根據(jù)權(quán)利要求1所述的方法,進(jìn)一步包括以下步驟為將要顯示一個(gè)或多個(gè)所述紋理的一個(gè)或多個(gè)多邊形中的每一個(gè)多邊形分配紋理優(yōu)先級(jí)值;以及將所述紋理優(yōu)先級(jí)值分配給相關(guān)紋理。
3.根據(jù)權(quán)利要求2所述的方法,進(jìn)一步包括以下步驟根據(jù)所述相關(guān)紋理的位置是否可見、所述位置距離觀察者的位置多遠(yuǎn)、以及相對(duì)于所述觀察者的位置的角度,確定所述紋理優(yōu)先級(jí)值。
4.一種管理用于顯示的圖形紋理的持續(xù)時(shí)間的方法,其中,所述方法包括以下機(jī)器執(zhí)行的步驟在存儲(chǔ)器介質(zhì)上創(chuàng)建一個(gè)或多個(gè)紋理的高速緩沖存儲(chǔ)器;在虛擬三維環(huán)境中的多邊形上顯示所述紋理;其中,多個(gè)所述紋理顯示信息內(nèi)容并將信息內(nèi)容傳送給所述虛擬三維環(huán)境的觀察者,其中,能夠以高細(xì)節(jié)層次來觀察一個(gè)或多個(gè)這些紋理,其中,大多數(shù)這些紋理具有基本相似的尺寸,以及其中,觀察者能夠與一個(gè)或多個(gè)這些紋理交互;其中,在與執(zhí)行所述方法的機(jī)器分離的一個(gè)或多個(gè)源中定義所述紋理的排列,以及其中,可以從一個(gè)或多個(gè)遠(yuǎn)程源獲取與所述紋理相關(guān)的所述內(nèi)容;其中,所述虛擬三維環(huán)境包括一條或多條通道,并且其中,沿著那些通道排列顯示信息內(nèi)容的多個(gè)所述紋理;以及將一個(gè)或多個(gè)紋理存儲(chǔ)至存儲(chǔ)器介質(zhì)上的高速緩沖存儲(chǔ)器,用于隨后在所述虛擬三維環(huán)境中恢復(fù)以及顯示。
5.根據(jù)權(quán)利要求4所述的方法,進(jìn)一步包括以下步驟當(dāng)從所述虛擬三維環(huán)境退出時(shí),將與當(dāng)前虛擬三維環(huán)境相關(guān)的所述紋理存儲(chǔ)到高速緩沖存儲(chǔ)器中。
6.根據(jù)權(quán)利要求4所述的方法,進(jìn)一步包括以下步驟在生成或下載每個(gè)所述紋理后保存所述紋理。
7.根據(jù)權(quán)利要求4、5或6所述的方法,其中,存儲(chǔ)與不同于當(dāng)前顯示的虛擬三維環(huán)境的虛擬三維環(huán)境相關(guān)的所述紋理。
8.根據(jù)權(quán)利要求4至7中的任一項(xiàng)所述的方法,進(jìn)一步包括以下步驟給所述紋理分配優(yōu)先級(jí)值以對(duì)到所述存儲(chǔ)器介質(zhì)的存儲(chǔ)進(jìn)行排序,并且當(dāng)執(zhí)行所述存儲(chǔ)步驟時(shí),使用所述優(yōu)先級(jí)值。
9.根據(jù)前述權(quán)利要求中任一項(xiàng)所述的方法,進(jìn)一步包括以下步驟在將所述紋理存儲(chǔ)在所述高速緩沖存儲(chǔ)器中之前,壓縮所述紋理,并且在從所述高速緩沖存儲(chǔ)器加載所述紋理后,解壓縮所述紋理。
10.根據(jù)前述權(quán)利要求中任一項(xiàng)所述的方法,進(jìn)一步包括以下步驟在形成在計(jì)算機(jī)主存儲(chǔ)器的第一區(qū)域中的附加高速緩沖存儲(chǔ)器中存儲(chǔ)所述紋理,其中,所述計(jì)算機(jī)主存儲(chǔ)器的所述第一區(qū)域位于用于保存用來顯示的所述紋理的存儲(chǔ)器的第二區(qū)域和用于所述主高速緩沖存儲(chǔ)器的所述存儲(chǔ)器介質(zhì)之間。
11.根據(jù)權(quán)利要求10所述的方法,進(jìn)一步包括以下步驟在所述主存儲(chǔ)器高速緩沖存儲(chǔ)器中壓縮所述紋理,并在將所述紋理復(fù)制到用于保存用來顯示的所述紋理的所述存儲(chǔ)器的所述第二區(qū)域之前,解壓縮所述紋理。
12.一種管理更新用于顯示的圖形紋理的方法,其中,所述方法包括以下機(jī)器執(zhí)行的步驟在虛擬三維環(huán)境中的多邊形上顯示所述紋理;其中,多個(gè)所述紋理顯示信息內(nèi)容并向所述虛擬三維環(huán)境的觀察者傳送信息內(nèi)容,其中,能夠以高細(xì)節(jié)層次觀察一個(gè)或多個(gè)這些紋理,其中,大多數(shù)這些紋理具有基本相似的尺寸,以及其中,觀察者能夠與一個(gè)或多個(gè)所述紋理交互;其中,在與執(zhí)行所述方法的機(jī)器分離的一個(gè)或多個(gè)源中定義所述紋理的所述排列,并且其中,可以從一個(gè)或多個(gè)遠(yuǎn)程源獲取與所述紋理相關(guān)的所述內(nèi)容;其中,所述虛擬三維環(huán)境包括一條或多條通道,以及其中,沿著那些通道排列顯示信息內(nèi)容的多個(gè)所述紋理;確定是否存在用于一個(gè)或多個(gè)內(nèi)容元素中的特定內(nèi)容元素的更新,其中,每個(gè)內(nèi)容元素均與一個(gè)或多個(gè)紋理相關(guān);如果存在任何更新,則更新所述相關(guān)的一個(gè)或多個(gè)紋理。
13.根據(jù)權(quán)利要求12所述的方法,進(jìn)一步包括以下步驟當(dāng)一個(gè)紋理需要更新時(shí),考慮在執(zhí)行所述方法的所述機(jī)器上本地不可用的紋理。
14.根據(jù)權(quán)利要求12或13所述的方法,其中,創(chuàng)建紋理生成庫(kù)的源內(nèi)容,允許至少一個(gè)源內(nèi)容元素被同時(shí)處理。
15.根據(jù)權(quán)利要求14所述的方法,其中,根據(jù)所述內(nèi)容元素中包括的信息,所述紋理生成庫(kù)中的條目可以被用來提供紋理的單個(gè)更新或生成、或連續(xù)更新流。
16.根據(jù)權(quán)利要求14或15所述的方法,進(jìn)一步包括以下步驟根據(jù)一個(gè)或多個(gè)標(biāo)準(zhǔn)給多個(gè)紋理分配一個(gè)激活的優(yōu)先級(jí),并保存用于從它們的內(nèi)容元素生成這些紋理的一個(gè)或多個(gè)生成庫(kù)條目。
17.根據(jù)權(quán)利要求16所述的方法,進(jìn)一步包括以下步驟根據(jù)顯示所述紋理的所述多邊形是否可見或者是否可能在不久的將來變得可見來確定所述激活的優(yōu)先級(jí)。
18.根據(jù)權(quán)利要求16或17所述的方法,進(jìn)一步包括以下步驟根據(jù)用于紋理的所述源內(nèi)容是否包括將使所述紋理被動(dòng)態(tài)更新的信息,確定所述激活的優(yōu)先級(jí)。
19.根據(jù)權(quán)利要求12至18中的任一項(xiàng)所述的方法,進(jìn)一步包括以下步驟確定用于處理特定內(nèi)容元素的任何更新的優(yōu)先級(jí)順序,并且根據(jù)所述順序來更新所述相關(guān)紋理。
20.根據(jù)權(quán)利要求12至19中的任一項(xiàng)所述的方法,其中,改變所述虛擬三維環(huán)境中的一個(gè)或多個(gè)所述紋理的位置。
21.根據(jù)權(quán)利要求12至20中的任一項(xiàng)所述的方法,其中,所述紋理到相關(guān)內(nèi)容源的映射的改變導(dǎo)致所述紋理中的一個(gè)紋理改變。
22.根據(jù)權(quán)利要求12至20中的任一項(xiàng)所述的方法,其中,相關(guān)內(nèi)容源的改變導(dǎo)致所述紋理中的一個(gè)紋理改變。
23.根據(jù)權(quán)利要求12至20中的任一項(xiàng)所述的方法,其中,包括動(dòng)畫或其他動(dòng)態(tài)信息的所述內(nèi)容源導(dǎo)致所述紋理中的一個(gè)紋理改變。
24.根據(jù)權(quán)利要求12至20中的任一項(xiàng)所述的方法,其中,與所述用戶的交互或所述用戶的特征導(dǎo)致所述紋理改變。
25.根據(jù)權(quán)利要求24所述的方法,其中,所述觀察者的特征可以是所述觀察者的年齡或語(yǔ)言偏好。
26.根據(jù)權(quán)利要求12至20中的任一項(xiàng)所述的方法,其中,所述虛擬三維環(huán)境中的所述用戶的位置和/或視點(diǎn)的改變導(dǎo)致所述紋理改變。
27.根據(jù)權(quán)利要求12至20中的任一項(xiàng)所述的方法,其中,根據(jù)所述紋理的更新情況改變所述紋理。
28.根據(jù)權(quán)利要求27所述的方法,其中,所述情況是下列情況之一“等待加載”、“等待生成”、“正在加載”、“正在生成”、“加載失敗”、或“生成失敗”。
29.根據(jù)權(quán)利要求12至27中的任一項(xiàng)所述的方法,其中,紋理的改變可以導(dǎo)致生成新紋理。
30.根據(jù)權(quán)利要求12至27中的任一項(xiàng)所述的方法,其中,紋理的改變可以導(dǎo)致從遠(yuǎn)程源下載新紋理。
31.根據(jù)權(quán)利要求1和12所述的方法,進(jìn)一步包括以下步驟保存用于主動(dòng)生成紋理的一個(gè)或多個(gè)所述紋理庫(kù)條目。
32.根據(jù)權(quán)利要求2或31所述的方法,進(jìn)一步包括以下步驟保存用于主動(dòng)生成紋理的一個(gè)或多個(gè)所述紋理庫(kù)條目,并給高優(yōu)先級(jí)的紋理分配所保存的紋理庫(kù)條目。
33.一種管理用于顯示的圖形紋理的方法,其中,所述方法包括以下機(jī)器執(zhí)行的步驟在虛擬三維環(huán)境中的多邊形上顯示所述紋理;使一個(gè)或多個(gè)較低分辨率的紋理與每個(gè)紋理相關(guān);其中,多個(gè)所述紋理顯示信息內(nèi)容并向所述虛擬三維環(huán)境的觀察者傳送信息內(nèi)容,其中,能夠以高細(xì)節(jié)層次觀察一個(gè)或多個(gè)所述紋理,其中,大多數(shù)這些紋理具有基本相似的尺寸,以及其中,觀察者能夠與一個(gè)或多個(gè)所述紋理交互;其中,在與執(zhí)行所述方法的機(jī)器分離的一個(gè)或多個(gè)源中定義所述紋理的排列,以及其中,可以從一個(gè)或多個(gè)遠(yuǎn)程源獲取與所述紋理相關(guān)的所述內(nèi)容;其中,所述虛擬三維環(huán)境包括一條或多條通道,并且其中,沿著那些通道排列顯示信息內(nèi)容的多個(gè)所述紋理;以及根據(jù)一個(gè)或多個(gè)標(biāo)準(zhǔn)確定是否顯示代替高分辨率紋理的較低分辨率紋理。
34.根據(jù)權(quán)利要求33所述的方法,進(jìn)一步包括以下步驟在大容量存儲(chǔ)系統(tǒng)上存儲(chǔ)所述低分辨率紋理。
35.根據(jù)權(quán)利要求33或34所述的方法,進(jìn)一步包括以下步驟通過網(wǎng)絡(luò)下載對(duì)應(yīng)于一個(gè)或多個(gè)所述高分辨率紋理的低分辨率紋理。
36.根據(jù)權(quán)利要求35所述的方法,進(jìn)一步包括以下步驟定義低分辨率紋理的所述下載的優(yōu)先級(jí)順序,并根據(jù)所述優(yōu)先級(jí)下載所述低分辨率紋理。
37.根據(jù)權(quán)利要求36所述的方法,其中,所述優(yōu)先級(jí)基于所述虛擬三維環(huán)境中的所述觀察者的位置。
38.根據(jù)權(quán)利要求12或33所述的方法,進(jìn)一步包括以下步驟生成每個(gè)低分辨率紋理,同時(shí)生成相應(yīng)高分辨率紋理。
39.根據(jù)權(quán)利要求1和33所述的方法,其中,另外創(chuàng)建相應(yīng)的較低分辨率紋理的一個(gè)或多個(gè)較大的庫(kù)。
40.根據(jù)前述權(quán)利要求中任一項(xiàng)所述的方法,其中,通過網(wǎng)絡(luò)將所述內(nèi)容下載到客戶端計(jì)算機(jī)系統(tǒng),并且在下載之后,使用所述客戶端計(jì)算機(jī)系統(tǒng)進(jìn)行組織和呈現(xiàn)。
41.根據(jù)前述權(quán)利要求中任一項(xiàng)所述的方法,進(jìn)一步包括以下步驟通過網(wǎng)絡(luò)將完整的紋理下載至客戶端計(jì)算機(jī)系統(tǒng)。
42.根據(jù)權(quán)利要求41所述的方法,進(jìn)一步包括以下步驟給完整紋理的所述下載分配優(yōu)先級(jí)順序,并根據(jù)所述優(yōu)先級(jí)下載所述完整紋理。
43.根據(jù)前述權(quán)利要求中任一項(xiàng)所述的方法,其中,通過至少一個(gè)條目來?yè)碛谢蚩刂扑鰞?nèi)容。
44.根據(jù)前述權(quán)利要求中任一項(xiàng)所述的方法,進(jìn)一步包括以下步驟通過與所述虛擬環(huán)境交互,阻止所述用戶改變所述虛擬三維環(huán)境中的所述紋理的位置。
45.根據(jù)前述權(quán)利要求中任一項(xiàng)所述的方法,其中,所述源內(nèi)容包括一個(gè)或多個(gè)互聯(lián)網(wǎng)網(wǎng)頁(yè)、電視屏幕截圖、移動(dòng)電話頁(yè)、游戲屏幕截圖、圖像、文檔、或視頻內(nèi)容。
46.根據(jù)權(quán)利要求2和36所述的方法,其中,給具有較高紋理優(yōu)先級(jí)的多邊形分配所述高分辨率紋理庫(kù)中的條目,并且為余下的所述多邊形中的一些分配低分辨率紋理。
47.根據(jù)前述權(quán)利要求中任一項(xiàng)所述的方法,進(jìn)一步包括以下步驟確定是否需要使多邊形可用,其中,所述多邊形與所述特定紋理有關(guān);如果生成所述紋理的所述步驟已經(jīng)完成,則顯示所述特定紋理;如果生成所述紋理的所述步驟還未完成,則顯示第二特定紋理。
48.根據(jù)前述權(quán)利要求中任一項(xiàng)所述的方法,其中,所述方法進(jìn)一步包括以下步驟確定是否需要使多邊形可用,其中,所述多邊形與所述特定紋理有關(guān);如果所述紋理在存儲(chǔ)器中,則顯示所述特定紋理;如果所述紋理不在存儲(chǔ)器中,則發(fā)起將所述紋理存儲(chǔ)到存儲(chǔ)器中的過程,并且當(dāng)所述加載未完成時(shí)顯示第二特定紋理。
49.根據(jù)權(quán)利要求4或48所述的方法,其中,所述獲取所述紋理的過程包括從本地存儲(chǔ)器介質(zhì)加載所述紋理。
50.根據(jù)權(quán)利要求48所述的方法,其中,所述獲取所述紋理的過程包括從網(wǎng)絡(luò)下載所述紋理。
51.根據(jù)權(quán)利要求4、49或50所述的方法,其中,為了加載紋理,給每個(gè)紋理分配優(yōu)先級(jí)值,并且其中,所述優(yōu)先級(jí)值用于所述紋理的加載。
52.根據(jù)權(quán)利要求4或48所述的方法,其中,當(dāng)進(jìn)入所述虛擬三維環(huán)境時(shí),從高速緩沖存儲(chǔ)器加載出現(xiàn)在所述高速緩沖存儲(chǔ)中的與所述當(dāng)前虛擬三維環(huán)境相關(guān)的一個(gè)或多個(gè)所述紋理。
53.根據(jù)權(quán)利要求4或48所述的方法,其中,在高速緩沖存儲(chǔ)器請(qǐng)求時(shí),加載出現(xiàn)在所述高速緩沖存儲(chǔ)器中的與所述當(dāng)前虛擬三維環(huán)境相關(guān)的所述紋理。
54.根據(jù)權(quán)利要求47或48所述的方法,其中,所述第二特定紋理是基于所述第一特定紋理的先前版本的。
55.根據(jù)權(quán)利要求47或48所述的方法,其中,從現(xiàn)有的可選紋理集中而不是基于所述第一特定紋理來選擇所述第二特定紋理。
56.根據(jù)權(quán)利要求47或48所述的方法,其中,所述第二特定紋理包括高分辨率紋理。
57.根據(jù)權(quán)利要求47或48所述的方法,其中,所述第二特定紋理包括低分辨率紋理。
58.根據(jù)權(quán)利要求1、47或48所述的方法,進(jìn)一步包括以下步驟在存儲(chǔ)器中創(chuàng)建一個(gè)或多個(gè)庫(kù)用于加載和生成紋理;以及在存儲(chǔ)器中創(chuàng)建單獨(dú)的庫(kù)用于顯示紋理。
59.根據(jù)權(quán)利要求58所述的方法,進(jìn)一步包括以下步驟檢測(cè)所述紋理的生成是否完成;確定所生成的紋理是否比所述顯示庫(kù)中的所述紋理中的至少一個(gè)更適于顯示;確定在所述顯示庫(kù)中最不適于顯示的紋理,并用所生成的紋理代替其顯示紋理庫(kù)條目;使先前用于在所述加載/生成庫(kù)中生成的所述條目可用于其他紋理。
60.一種計(jì)算機(jī)可讀介質(zhì),包括一個(gè)或多個(gè)指令序列,當(dāng)一個(gè)或多個(gè)處理器執(zhí)行所述指令時(shí),使得所述一個(gè)或多個(gè)處理器執(zhí)行前述權(quán)利要求中任一項(xiàng)所述的步驟。
61.一種計(jì)算機(jī)設(shè)備,包括用于顯示圖形圖像的裝置;以及用于執(zhí)行在權(quán)利要求1至59中任一項(xiàng)所述的步驟中所述的功能的裝置。
62.一種計(jì)算機(jī)設(shè)備,包括一個(gè)或多個(gè)處理器;可通信地連接至所述一個(gè)或多個(gè)處理器的一個(gè)或多個(gè)存儲(chǔ)器;以及一個(gè)或多個(gè)計(jì)算機(jī)可讀介質(zhì),包括一個(gè)或多個(gè)指令序列,當(dāng)所述一個(gè)或多個(gè)處理器執(zhí)行所述指令時(shí),使所述一個(gè)或多個(gè)處理器執(zhí)行權(quán)利要求1至59中任一項(xiàng)所述的步驟。
63.一種計(jì)算機(jī)程序,包括一個(gè)或多個(gè)指令序列,其能夠執(zhí)行權(quán)利要求1至59中任一項(xiàng)所述的方法。
全文摘要
本發(fā)明提供了一種顯示圖形紋理的方法,其包括確定是否存在對(duì)一個(gè)或多個(gè)內(nèi)容元素中的特定內(nèi)容元素的更新,其中,每個(gè)內(nèi)容元素與一個(gè)或多個(gè)紋理相關(guān);如果存在對(duì)特定內(nèi)容元素的更新,則執(zhí)行從一個(gè)或多個(gè)與信息相關(guān)的紋理中確定特定紋理的步驟;獲取特定紋理,其中,特定紋理基于特定內(nèi)容元素生成;以及顯示該特定紋理。
文檔編號(hào)G06T15/04GK1961339SQ200480043258
公開日2007年5月9日 申請(qǐng)日期2004年7月23日 優(yōu)先權(quán)日2004年6月8日
發(fā)明者戴維·C·布朗利, 萊斯利·彼得斯, 戴維·格特曼, 妮科爾·莫里斯 申請(qǐng)人:斯瑞畢國(guó)際有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
壤塘县| 清流县| 湖口县| 二连浩特市| 南充市| 馆陶县| 海晏县| 松阳县| 淳化县| 蓬溪县| 清新县| 福贡县| 浦城县| 宁陕县| 夏邑县| 东明县| 会宁县| 扬州市| 平湖市| 观塘区| 清原| 全州县| 长治县| 黄龙县| 稻城县| 翁源县| 尼玛县| 拉孜县| 安远县| 大兴区| 高碑店市| 利辛县| 建始县| 建宁县| 怀宁县| 泾阳县| 西充县| 岳阳县| 嘉峪关市| 吉林省| 阳山县|