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

在計(jì)算機(jī)模擬中渲染損壞增強(qiáng)圖像的制作方法

文檔序號(hào):11635706閱讀:259來(lái)源:國(guó)知局
在計(jì)算機(jī)模擬中渲染損壞增強(qiáng)圖像的制造方法與工藝

本發(fā)明涉及計(jì)算機(jī)生成圖像,更特別地涉及使用基于可動(dòng)態(tài)修改的環(huán)境的計(jì)算機(jī)而生成圖像。



背景技術(shù):

在計(jì)算機(jī)模擬中,重要的方面是:可信地復(fù)制實(shí)際環(huán)境,其中可觸發(fā)各種動(dòng)態(tài)事件(例如,碰撞或爆炸,導(dǎo)致對(duì)模型結(jié)構(gòu)等的損壞)。為了保持可信,計(jì)算機(jī)模擬中的圖像生成必須考慮到這些事件,同時(shí)保持足夠高的從用戶視角流過的可見速率。不過,需要大量物質(zhì)資源(例如處理動(dòng)力、存儲(chǔ)器和/存儲(chǔ)空間,等等)以動(dòng)態(tài)考慮這樣的動(dòng)態(tài)事件(例如,特別是在多用戶環(huán)境中)。因此,在可用物質(zhì)資源內(nèi)常常有必要放棄一些精確度。

本發(fā)明的目標(biāo)在于:改進(jìn)計(jì)算機(jī)模擬過程中考慮動(dòng)態(tài)事件并同時(shí)考慮物質(zhì)資源使用時(shí)的方式。



技術(shù)實(shí)現(xiàn)要素:

提供此發(fā)明內(nèi)容以介紹采用簡(jiǎn)化形式的一系列設(shè)計(jì)方案,這將在下文中在詳細(xì)描述中進(jìn)一步描述。此發(fā)明內(nèi)容不是試圖識(shí)別所要求保護(hù)主題的關(guān)鍵特征或基本特征,也不是試圖用作確定所要求保護(hù)主題的范圍的輔助。

根據(jù)第一組實(shí)施例的本發(fā)明的第一方面涉及一種方法,用于在包括計(jì)算機(jī)生成環(huán)境的計(jì)算機(jī)模擬中渲染(render)損壞增強(qiáng)圖像(damaged-enhancedimage)。所述方法包括:在計(jì)算機(jī)模擬過程中確定具有有效半徑的虛擬沖擊在計(jì)算機(jī)生成環(huán)境中的坐標(biāo);在所述坐標(biāo)處在考慮有效半徑的情況下識(shí)別受虛擬沖擊影響的多個(gè)第一渲染面(renderingface)。多個(gè)第一渲染面與計(jì)算機(jī)生成環(huán)境的至少一個(gè)三維(3d)多邊形網(wǎng)格相關(guān)聯(lián)。所述方法然后接著將多個(gè)第一渲染面修剪為在考慮有效半徑情況下計(jì)算出的數(shù)學(xué)定義減影(subtraction)形狀;通過被修剪的多個(gè)第一渲染面而計(jì)算多個(gè)第二渲染面,由此限定出至少一個(gè)新形成的三維多邊形網(wǎng)格;使用視覺紋理渲染至少一個(gè)損壞增強(qiáng)圖像以進(jìn)行顯示,包括多個(gè)第二渲染面的子集,所述子集通過計(jì)算機(jī)模擬的視場(chǎng)進(jìn)行確定。

所述用于渲染損壞增強(qiáng)圖像的方法可在運(yùn)行時(shí)通過分散處理單元在有限量的毫秒內(nèi)進(jìn)行。專用處理單元可以與計(jì)算機(jī)生成環(huán)境的模擬運(yùn)載工具相關(guān)聯(lián),所述視場(chǎng)可因而通過模擬運(yùn)載工具內(nèi)的用戶的位置限定。所述方法可選地可進(jìn)一步包括:在集中處理單元,通過確定的坐標(biāo)而計(jì)算所述至少一個(gè)新形成的三維多邊形網(wǎng)格,并通過所述至少一個(gè)新形成的三維多邊形網(wǎng)格而持續(xù)(persistently)更新與所述模擬相關(guān)聯(lián)的存儲(chǔ)模塊。在集中處理單元的計(jì)算在此示例中獨(dú)立于分散處理單元且按照非實(shí)時(shí)優(yōu)先處理方式進(jìn)行。

在集中處理單元計(jì)算所述至少一個(gè)新形成的三維多邊形網(wǎng)格,可使用比在分散處理單元使用的數(shù)學(xué)定義減影形狀更復(fù)雜的第二數(shù)學(xué)定義減影形狀進(jìn)行。

所述方法還可包括:在計(jì)算機(jī)模擬的第二分散處理單元,將所述至少一個(gè)新形成的三維多邊形網(wǎng)格數(shù)據(jù)從存儲(chǔ)模塊加載。第二分散處理單元與計(jì)算機(jī)生成環(huán)境的第二模擬運(yùn)載工具相關(guān)聯(lián),其具有通過第二模擬運(yùn)載工具內(nèi)的第二用戶位置限定的第二視場(chǎng)。所述加載可以當(dāng)所述至少一個(gè)新形成的三維多邊形網(wǎng)格進(jìn)入第二視場(chǎng)時(shí)進(jìn)行。所述方法可替代地還可包括:在第二分散處理單元,當(dāng)?shù)诙晥?chǎng)在虛擬沖擊時(shí)包括所述三維多邊形網(wǎng)格時(shí),通過所確定的坐標(biāo)并行于分散處理單元計(jì)算所述至少一個(gè)新形成的三維多邊形網(wǎng)格。

所述渲染面可為三角形。

所述用于渲染損壞增強(qiáng)圖像的方法可進(jìn)一步包括:在開始計(jì)算機(jī)模擬之前(例如在集中處理器),從存儲(chǔ)模塊加載計(jì)算機(jī)生成環(huán)境,識(shí)別在計(jì)算機(jī)生成環(huán)境中形成非水密性(non-watertight)的網(wǎng)格的一個(gè)或多個(gè)開放的多邊形網(wǎng)格(例如,可通過計(jì)算一個(gè)或多個(gè)連接性圖線而進(jìn)行識(shí)別)。所述方法可以然后進(jìn)一步包括:對(duì)每個(gè)識(shí)別出的開放的多邊形網(wǎng)格,嘗試封閉對(duì)應(yīng)的多邊形網(wǎng)格,并在不可行時(shí)將對(duì)應(yīng)的多邊形網(wǎng)格標(biāo)記為不可損壞;在識(shí)別所述多個(gè)第一渲染面之前,驗(yàn)證所述至少一個(gè)三維多邊形網(wǎng)格在數(shù)據(jù)庫(kù)中沒有被標(biāo)記為不可損壞。

所述用于渲染損壞增強(qiáng)圖像的方法還可進(jìn)一步包括:在修剪之前確定所述至少一個(gè)三維多邊形網(wǎng)格中的每個(gè)形成水密性網(wǎng)格。

所述用于渲染損壞增強(qiáng)圖像的方法可選地可包括:在確定坐標(biāo)之后,渲染至少一個(gè)臨時(shí)圖像以進(jìn)行顯示,包括在所確定的坐標(biāo)之處的分心的視覺效果,至少直到所述至少一個(gè)損壞增強(qiáng)圖像的渲染被執(zhí)行。

所述用于渲染損壞增強(qiáng)圖像的方法可以進(jìn)一步包括:在識(shí)別被影響的多個(gè)第一渲染三角形之后,緩存所述多個(gè)第一渲染三角形,由此允許撤銷(undo)修剪。

數(shù)學(xué)定義減影形狀是:通過單個(gè)數(shù)學(xué)公式表達(dá)的球形或橢球形。

所述用于渲染損壞增強(qiáng)圖像的方法還可進(jìn)一步包括:在計(jì)算多個(gè)第二渲染面之后,檢測(cè)所述至少一個(gè)新形成的三維多邊形網(wǎng)格以進(jìn)行循環(huán)(forloops)。

渲染多個(gè)第二渲染面可以進(jìn)一步包括:在多個(gè)第二渲染面的子集(對(duì)應(yīng)于先前在至少所述多個(gè)第一渲染面中所表現(xiàn)的表面)上施加損壞紋理、從所述坐標(biāo)向外褪色和超過有效半徑。

根據(jù)第一組實(shí)施例的本發(fā)明的第二方面涉及一種計(jì)算機(jī)系統(tǒng),用于在包括計(jì)算機(jī)生成環(huán)境的計(jì)算機(jī)模擬中渲染損壞增強(qiáng)圖像。計(jì)算機(jī)系統(tǒng)包括處理器模塊,用于:i)確定具有有效半徑的虛擬沖擊在計(jì)算機(jī)生成環(huán)境中的坐標(biāo);ii)在所述坐標(biāo)處在考慮有效半徑的情況下識(shí)別受虛擬沖擊影響的多個(gè)第一渲染面。多個(gè)第一渲染面與計(jì)算機(jī)生成環(huán)境的至少一個(gè)三維(3d)多邊形網(wǎng)格相關(guān)聯(lián)。處理器模塊還用于:iii)將多個(gè)第一渲染面修剪為在考慮有效半徑情況下計(jì)算出的數(shù)學(xué)定義減影形狀;iv)通過被修剪的多個(gè)第一渲染面而計(jì)算多個(gè)第二渲染面,由此限定出至少一個(gè)新形成的三維多邊形網(wǎng)格。處理器模塊還包括:圖像生成模塊,用于使用視覺紋理渲染至少一個(gè)損壞增強(qiáng)圖像以進(jìn)行顯示,包括多個(gè)第二渲染面的子集,所述子集通過計(jì)算機(jī)模擬的視場(chǎng)進(jìn)行確定。

處理器模塊可包括:分散處理單元,其與計(jì)算機(jī)生成環(huán)境的模擬運(yùn)載工具相關(guān)聯(lián),所述視場(chǎng)可通過模擬運(yùn)載工具內(nèi)的用戶的位置限定,該分散處理單元執(zhí)行i至iv。

集中處理單元(例如處理器模塊的或者另一計(jì)算機(jī)系統(tǒng)的集中處理單元)可進(jìn)一步用于:通過確定的坐標(biāo)而計(jì)算所述至少一個(gè)新形成的三維多邊形網(wǎng)格,將計(jì)算出的至少一個(gè)新形成的三維多邊形網(wǎng)格存儲(chǔ)在存儲(chǔ)模塊中(例如,存儲(chǔ)模塊與計(jì)算機(jī)模擬相關(guān)聯(lián)、被包括在計(jì)算機(jī)系統(tǒng)中或者連接到計(jì)算機(jī)系統(tǒng))。在集中處理的計(jì)算獨(dú)立于分散處理單元且按照非實(shí)時(shí)優(yōu)先處理方式進(jìn)行。

集中處理單元可使用比在分散處理單元使用的數(shù)學(xué)定義減影形狀更復(fù)雜的第二數(shù)學(xué)定義減影形狀計(jì)算所述至少一個(gè)新形成的三維多邊形網(wǎng)格。

計(jì)算機(jī)模擬的第二分散處理單元(例如在計(jì)算機(jī)系統(tǒng)中或者與計(jì)算機(jī)系統(tǒng)網(wǎng)絡(luò)通訊)可將所述至少一個(gè)新形成的三維多邊形網(wǎng)格數(shù)據(jù)從存儲(chǔ)模塊加載。第二分散處理單元可與計(jì)算機(jī)生成環(huán)境的第二模擬運(yùn)載工具相關(guān)聯(lián),其具有通過第二模擬運(yùn)載工具內(nèi)的第二用戶位置限定的第二視場(chǎng)。所述加載可當(dāng)所述至少一個(gè)新形成的三維多邊形網(wǎng)格進(jìn)入第二視場(chǎng)時(shí)進(jìn)行。當(dāng)?shù)诙晥?chǎng)在虛擬沖擊時(shí)包括所述三維多邊形網(wǎng)格時(shí),第二分散處理單元還可通過所確定的坐標(biāo)并行于分散處理單元計(jì)算所述至少一個(gè)新形成的三維多邊形網(wǎng)格。

渲染面可為三角形。

處理器模塊還可進(jìn)一步用于:在開始計(jì)算機(jī)模擬之前,從存儲(chǔ)器模塊加載計(jì)算機(jī)生成環(huán)境(例如在分散處理單元或者在集中處理器處),識(shí)別在計(jì)算機(jī)生成環(huán)境中形成非水密性(non-watertight)網(wǎng)格的一個(gè)或多個(gè)開放的多邊形網(wǎng)格。處理器模塊可通過計(jì)算連接性圖線而進(jìn)行識(shí)別。

處理器模塊可進(jìn)一步用于:對(duì)于每個(gè)識(shí)別出的開放的多邊形網(wǎng)格,嘗試封閉對(duì)應(yīng)的多邊形網(wǎng)格,并且在不可行時(shí)將對(duì)應(yīng)的多邊形網(wǎng)格在存儲(chǔ)模塊中標(biāo)記為不可損壞;和在識(shí)別所述多個(gè)第一渲染面之前,驗(yàn)證所述至少一個(gè)三維多邊形網(wǎng)格在存儲(chǔ)模塊中沒有被標(biāo)記為不可損壞。

處理器模塊可進(jìn)一步用于:在修剪之前確定所述至少一個(gè)三維多邊形網(wǎng)格中的每個(gè)形成水密性網(wǎng)格。

圖像生成模塊可進(jìn)一步用于:在由處理器模塊確定坐標(biāo)之后,渲染至少一個(gè)臨時(shí)圖像以進(jìn)行顯示,包括在所確定的坐標(biāo)處的分心的視覺效果,至少直到所述至少一個(gè)損壞增強(qiáng)圖像的渲染被執(zhí)行。

處理器模塊可進(jìn)一步用于:在識(shí)別被影響的多個(gè)第一渲染三角形之后,緩存所述多個(gè)第一渲染三角形,由此允許撤銷(undo)修剪。

數(shù)學(xué)定義減影形狀可以是:通過單個(gè)數(shù)學(xué)公式表達(dá)的球形或橢球形。

處理器模塊可進(jìn)一步用于:在計(jì)算多個(gè)第二渲染面之后,檢測(cè)所述至少一個(gè)新形成的三維多邊形網(wǎng)格以進(jìn)行循環(huán)(forloops)。

圖像生成模塊可通過以下方式渲染多個(gè)第二渲染面:在多個(gè)第二渲染面的子集(對(duì)應(yīng)于先前在至少所述多個(gè)第一渲染面中所表現(xiàn)的表面)上施加損壞紋理、從所述坐標(biāo)向外褪色和超過有效半徑。

根據(jù)第二組實(shí)施例的本發(fā)明的第一方面涉及一種方法,用于在包括計(jì)算機(jī)生成環(huán)境的計(jì)算機(jī)模擬中渲染三維(3d)多邊形網(wǎng)格的似然圖像(plausibleimage)。所述方法包括:在使用多個(gè)頂點(diǎn)(提供多個(gè)渲染面)限定的三維多邊形網(wǎng)格上,通過多個(gè)頂點(diǎn)中的至少三個(gè)確定錨定點(diǎn);而且對(duì)于三維多邊形網(wǎng)格的渲染面中的每一個(gè),確定是否存在朝向錨定點(diǎn)的路徑,并當(dāng)不存在路徑時(shí)從三維多邊形網(wǎng)格中去除這一個(gè)渲染面而形成更新的三維多邊形網(wǎng)格。所述方法然后接著使用視覺紋理渲染更新的三維多邊形網(wǎng)格(包括多個(gè)渲染面的子集)以進(jìn)行顯示,所述子集通過計(jì)算機(jī)模擬的視場(chǎng)確定。

可選地,所述用于渲染似然圖像的方法可進(jìn)一步包括:通過多個(gè)渲染面而計(jì)算表現(xiàn)三維多邊形網(wǎng)格的連接性圖線。在此示例中,當(dāng)不存在朝向錨定點(diǎn)的路徑時(shí),去除所述一個(gè)渲染面是通過從連接性圖線中去除所述一個(gè)渲染面從而形成表現(xiàn)出更新的三維多邊形網(wǎng)格的更新的連接性圖線而進(jìn)行的。

所述用于渲染似然圖像的方法可以在運(yùn)行時(shí)通過分散處理單元在有限量的毫秒內(nèi)進(jìn)行,專用處理單元與計(jì)算機(jī)生成環(huán)境的模擬運(yùn)載工具相關(guān)聯(lián),其中,視場(chǎng)通過模擬運(yùn)載工具內(nèi)的用戶的位置限定。專用處理單元可與模擬運(yùn)載工具相關(guān)聯(lián),模擬運(yùn)載工具作為訓(xùn)練裝置的一部分,訓(xùn)練裝置包括:考慮用戶位置而定位的至少一個(gè)顯示屏、和模擬運(yùn)載工具的至少一個(gè)模擬設(shè)備。

所述用于渲染似然圖像的方法可進(jìn)一步包括:在確定是否存在朝向錨定點(diǎn)的路徑之前且在對(duì)三維多邊形網(wǎng)格的虛擬沖擊(影響在所述多個(gè)渲染面中至少一個(gè)受沖擊渲染面)之后,在運(yùn)行時(shí),以多個(gè)新的渲染面更換所述至少一個(gè)受沖擊渲染面。

所述用于渲染似然圖像的方法還可進(jìn)一步包括:在渲染更新的三維多邊形網(wǎng)格之前,在運(yùn)行時(shí),通過與更新的三維多邊形網(wǎng)格的一部分關(guān)聯(lián)的多個(gè)頂點(diǎn)確定該部分的質(zhì)心;在運(yùn)行時(shí),考慮到模擬中施加的虛擬重力而確定三維多邊形網(wǎng)格的所述部分從錨定點(diǎn)的視角來(lái)看是不穩(wěn)定的;在運(yùn)行時(shí),在不穩(wěn)定部分上識(shí)別出所述多個(gè)渲染面中的子集不穩(wěn)定的渲染面;在運(yùn)行時(shí),將不穩(wěn)定的渲染面從更新的三維多邊形網(wǎng)格中去除。在此示例中,識(shí)別不穩(wěn)定的渲染面可進(jìn)一步包括:附加(append)新的渲染面以封閉更新的三維多邊形網(wǎng)格。更新的三維多邊形網(wǎng)格可具有相關(guān)聯(lián)的虛擬拉伸強(qiáng)度和虛擬密度值,去除不穩(wěn)定的渲染面可進(jìn)一步僅在虛擬崩塌壓力超過虛擬拉伸強(qiáng)度時(shí)進(jìn)行,其中,虛擬崩塌壓力通過不穩(wěn)定部分的支點(diǎn)(fulcrum)區(qū)域與質(zhì)心相比的虛擬密度值而計(jì)算出。確定所述部分是不穩(wěn)定的,可通過定位更新的三維多邊形網(wǎng)格上虛擬沖擊周圍的窄鏈路(narrowlink)而進(jìn)行。窄鏈路限定所述部分與更新的三維多邊形網(wǎng)格的連接到錨定點(diǎn)的第二部分之間的支點(diǎn)區(qū)域,當(dāng)在窄鏈路上方的結(jié)構(gòu)不連接到錨定點(diǎn)而且質(zhì)心不處于支點(diǎn)區(qū)域上方時(shí),確定所述部分是不穩(wěn)定的。定位更新的三維多邊形網(wǎng)格中的窄鏈路,可通過以下方式進(jìn)行:在虛擬沖擊周圍,識(shí)別多個(gè)頂點(diǎn)中的最低孤立頂點(diǎn),直到窄鏈路被定位或者直到獲得基于性能的閾值,始于最低孤立頂點(diǎn)處的水平面并考慮其最近的相鄰頂點(diǎn),確定窄鏈路為所述部分與連接到錨定點(diǎn)的第二部分之間的最小支點(diǎn)區(qū)域。

所述用于渲染似然圖像的方法可進(jìn)一步包括:在集中處理單元處,獨(dú)立于分散處理單元且按照非實(shí)時(shí)優(yōu)先處理方式,去除所述一個(gè)渲染面而形成更新的三維多邊形網(wǎng)格。

根據(jù)第二組實(shí)施例的本發(fā)明的第二方面涉及一種方法,用于在計(jì)算機(jī)模擬中渲染三維(3d)多邊形網(wǎng)格的似然圖像,包括:在使用多個(gè)頂點(diǎn)(提供多個(gè)渲染面)限定的三維多邊形網(wǎng)格上,通過多個(gè)頂點(diǎn)中的至少三個(gè)確定錨定點(diǎn);在運(yùn)行時(shí),通過與三維多邊形網(wǎng)格的一部分關(guān)聯(lián)的多個(gè)頂點(diǎn)確定該部分的質(zhì)心;在運(yùn)行時(shí),考慮到模擬中施加的虛擬重力而確定三維多邊形網(wǎng)格的所述部分從錨定點(diǎn)的視角來(lái)看是不穩(wěn)定的。所述方法還可包括:在運(yùn)行時(shí),將不穩(wěn)定渲染面的子集從不穩(wěn)定部分上的多個(gè)渲染面去除而形成更新的三維多邊形網(wǎng)格,使用視覺紋理渲染更新的三維多邊形網(wǎng)格(包括多個(gè)渲染面的子集)以進(jìn)行顯示,所述子集通過計(jì)算機(jī)模擬的視場(chǎng)確定。

確定所述部分是不穩(wěn)定的,可通過定位三維多邊形網(wǎng)格上虛擬沖擊(影響多個(gè)渲染面中的至少一個(gè)受沖擊的渲染面)周圍的窄鏈路而進(jìn)行,窄鏈路限定所述部分與三維多邊形網(wǎng)格的連接到錨定點(diǎn)的第二部分之間的支點(diǎn)區(qū)域,當(dāng)在窄鏈路上方的結(jié)構(gòu)不連接到錨定點(diǎn)而且質(zhì)心不處于支點(diǎn)區(qū)域上方時(shí),確定所述部分是不穩(wěn)定的。所述方法還可包括:在三維多邊形網(wǎng)格上的虛擬沖擊影響到多個(gè)渲染面中的至少一個(gè)受沖擊的渲染面之后,在運(yùn)行時(shí),以多個(gè)新的渲染面更換所述至少一個(gè)受沖擊的渲染面。定位三維多邊形網(wǎng)格中的窄鏈路,可通過以下方式進(jìn)行:在虛擬沖擊周圍識(shí)別多個(gè)頂點(diǎn)中的最低孤立頂點(diǎn),直到窄鏈路被定位或者直到到達(dá)基于性能的閾值,始于最低孤立頂點(diǎn)處的水平面并考慮其最近的相鄰頂點(diǎn),確定窄鏈路為所述部分與連接到錨定點(diǎn)的第二部分之間的最小支點(diǎn)區(qū)域。

所述用于渲染似然圖像的方法可進(jìn)一步包括:在集中處理單元處,獨(dú)立于分散處理單元且按照非實(shí)時(shí)優(yōu)先處理方式,從三維多邊形網(wǎng)格中去除所述一個(gè)渲染面。

根據(jù)第二組實(shí)施例的本發(fā)明的第三方面涉及一種計(jì)算機(jī)系統(tǒng),用于在計(jì)算機(jī)模擬中渲染三維(3d)多邊形網(wǎng)格的似然圖像。所述計(jì)算機(jī)系統(tǒng)包括:存儲(chǔ)器模塊和處理器模塊。存儲(chǔ)器模塊用于存儲(chǔ)計(jì)算機(jī)模擬的多個(gè)三維多邊形網(wǎng)格的相應(yīng)表示,多個(gè)三維多邊形網(wǎng)格至少通過計(jì)算機(jī)模擬視場(chǎng)確定。處理器模塊用于:在使用多個(gè)頂點(diǎn)(提供多個(gè)渲染面)限定的多個(gè)三維多邊形網(wǎng)格的三維多邊形網(wǎng)格上,通過多個(gè)頂點(diǎn)中的至少三個(gè)確定錨定點(diǎn);對(duì)于三維多邊形網(wǎng)格的渲染面中的每一個(gè),確定是否存在朝向錨定點(diǎn)的路徑,并當(dāng)不存在路徑時(shí)從三維多邊形網(wǎng)格中去除這一個(gè)渲染面而形成更新的三維多邊形網(wǎng)格。處理器模塊還用于:將更新的三維多邊形網(wǎng)格的表示存儲(chǔ)到存儲(chǔ)器模塊中。處理器模塊包括圖像生成模塊,用于使用視覺紋理渲染更新的三維多邊形網(wǎng)格以進(jìn)行顯示,包括多個(gè)渲染面的子集,所述子集通過計(jì)算機(jī)模擬的視場(chǎng)進(jìn)行確定。

處理器模塊可進(jìn)一步用于:通過多個(gè)渲染面計(jì)算連接性圖線而作為三維多邊形網(wǎng)格的表示。在此示例中,當(dāng)不存在朝向錨定點(diǎn)的路徑時(shí),處理器模塊通過從連接性圖線中去除所述一個(gè)渲染面而去除所述一個(gè)渲染面,從而形成表現(xiàn)出更新的三維多邊形網(wǎng)格的更新的連接性圖線。

處理器模塊還可包括:分散處理單元,其與計(jì)算機(jī)生成環(huán)境的模擬運(yùn)載工具相關(guān)聯(lián),其中所述視場(chǎng)通過模擬運(yùn)載工具內(nèi)的用戶的位置限定。第一訓(xùn)練裝置可與分散處理單元相關(guān)聯(lián),第一訓(xùn)練裝置包括:考慮用戶位置而定位的至少一個(gè)顯示屏、和模擬運(yùn)載工具的至少一個(gè)模擬設(shè)備。

處理器模塊可以進(jìn)一步:在確定是否存在朝向錨定點(diǎn)的路徑之前且在對(duì)三維多邊形網(wǎng)格的虛擬沖擊(影響所述多個(gè)渲染面中至少一個(gè)受沖擊渲染面)之后,在運(yùn)行時(shí),以多個(gè)新的渲染面更換所述至少一個(gè)受沖擊渲染面。

處理器模塊還可以:在渲染更新的三維多邊形網(wǎng)格之前,在運(yùn)行時(shí),通過與更新的三維多邊形網(wǎng)格的一部分相關(guān)聯(lián)的多個(gè)頂點(diǎn)確定該部分的質(zhì)心;在運(yùn)行時(shí),考慮到模擬中施加的虛擬重力而確定更新的三維多邊形網(wǎng)格的所述部分從錨定點(diǎn)視角來(lái)看是不穩(wěn)定的;在運(yùn)行時(shí),在不穩(wěn)定部分上識(shí)別出所述多個(gè)渲染面中的不穩(wěn)定渲染面的子集;在運(yùn)行時(shí),將不穩(wěn)定渲染面從更新的三維多邊形網(wǎng)格中去除。

處理器模塊當(dāng)識(shí)別不穩(wěn)定渲染面時(shí)可進(jìn)一步:附加(append)新的渲染面到更新的連接性圖線以封閉更新的三維多邊形網(wǎng)格。

更新的三維多邊形網(wǎng)格可具有相關(guān)聯(lián)的虛擬拉伸強(qiáng)度和虛擬密度值,處理器模塊可進(jìn)一步僅在虛擬崩塌壓力超過虛擬拉伸強(qiáng)度時(shí)去除不穩(wěn)定渲染面,其中,虛擬崩塌壓力通過不穩(wěn)定部分的支點(diǎn)(fulcrum)區(qū)域與質(zhì)心相比的虛擬密度值而計(jì)算出。

處理器模塊可通過以下方式確定所述部分是不穩(wěn)定的:定位更新的三維多邊形網(wǎng)格上的虛擬沖擊周圍的窄鏈路,窄鏈路限定所述部分與更新的三維多邊形網(wǎng)格的連接到錨定點(diǎn)的第二部分之間的支點(diǎn)區(qū)域,當(dāng)窄鏈路上方的結(jié)構(gòu)不連接到錨定點(diǎn)而且質(zhì)心不處于支點(diǎn)區(qū)域上方時(shí),確定所述部分是不穩(wěn)定的。

處理器模塊可以通過以下方式定位三維多邊形網(wǎng)格中的窄鏈路:在虛擬沖擊周圍,識(shí)別多個(gè)頂點(diǎn)中的最低孤立頂點(diǎn),直到窄鏈路被定位或者直到到達(dá)基于性能的閾值,始于最低孤立頂點(diǎn)處的水平面并考慮其最近的相鄰頂點(diǎn),確定窄鏈路為所述部分與連接到錨定點(diǎn)的第二部分之間的最小支點(diǎn)區(qū)域。

計(jì)算機(jī)系統(tǒng)的集中處理單元可進(jìn)一步:獨(dú)立于分散處理單元且按照非實(shí)時(shí)優(yōu)先處理方式,去除所述一個(gè)渲染面而形成更新的三維多邊形網(wǎng)格。

根據(jù)第二組實(shí)施例的本發(fā)明的第四方面涉及一種計(jì)算機(jī)系統(tǒng),用于計(jì)算機(jī)模擬中渲染三維(3d)多邊形網(wǎng)格的似然圖像,包括:存儲(chǔ)器模塊和處理器模塊。存儲(chǔ)器模塊用于存儲(chǔ)計(jì)算機(jī)模擬的多個(gè)三維多邊形網(wǎng)格的相應(yīng)表示。處理器模塊用于:在使用多個(gè)頂點(diǎn)(提供多個(gè)渲染面)限定的多個(gè)三維多邊形網(wǎng)格的三維多邊形網(wǎng)格上,通過多個(gè)頂點(diǎn)中的至少三個(gè)確定錨定點(diǎn)。處理器模塊進(jìn)一步用于:在運(yùn)行時(shí),通過與三維多邊形網(wǎng)格的一部分關(guān)聯(lián)的多個(gè)頂點(diǎn)確定該部分的質(zhì)心;在運(yùn)行時(shí),考慮到模擬中施加的虛擬重力而確定三維多邊形網(wǎng)格的所述部分從錨定點(diǎn)的視角來(lái)看是不穩(wěn)定的;在運(yùn)行時(shí),在不穩(wěn)定的部分上識(shí)別出所述多個(gè)渲染面中的不穩(wěn)定的渲染面的子集。處理器模塊進(jìn)一步包括圖像生成模塊,用于使用視覺紋理渲染更新的三維多邊形網(wǎng)格以進(jìn)行顯示,包括多個(gè)渲染面的子集,所述子集通過計(jì)算機(jī)模擬的視場(chǎng)進(jìn)行確定。

處理器模塊可通過以下方式確定所述部分是不穩(wěn)定的:定位三維多邊形網(wǎng)格上的虛擬沖擊(影響多個(gè)渲染面中的至少一個(gè)受沖擊的渲染面)周圍的窄鏈路,窄鏈路限定所述部分與三維多邊形網(wǎng)格的連接到錨定點(diǎn)的第二部分之間的支點(diǎn)區(qū)域,當(dāng)窄鏈路上方的結(jié)構(gòu)不連接到錨定點(diǎn)而且質(zhì)心不處于支點(diǎn)區(qū)域上方時(shí),確定所述部分是不穩(wěn)定的。

處理器模塊可進(jìn)一步用于:在三維多邊形網(wǎng)格上的虛擬沖擊影響到多個(gè)渲染面中的至少一個(gè)受沖擊的渲染面之后,在運(yùn)行時(shí),以多個(gè)新的渲染面更換所述至少一個(gè)受沖擊的渲染面。定位三維多邊形網(wǎng)格中的窄鏈路,可通過以下方式進(jìn)行:在虛擬沖擊周圍,識(shí)別多個(gè)頂點(diǎn)中的最低孤立頂點(diǎn),直到窄鏈路被定位或者直到到達(dá)基于性能的閾值,始于最低孤立頂點(diǎn)處的水平面并考慮其最近的相鄰頂點(diǎn),確定窄鏈路為所述部分與連接到錨定點(diǎn)的第二部分之間的最小支點(diǎn)區(qū)域。

集中處理單元可進(jìn)一步:獨(dú)立于分散處理單元且按照非實(shí)時(shí)優(yōu)先處理方式,從三維多邊形網(wǎng)格中去除所述一個(gè)渲染面。

根據(jù)第三組實(shí)施例的本發(fā)明的第一方面涉及一種方法,用于在計(jì)算機(jī)模擬中更新?lián)p壞增強(qiáng)(damaged-enhanced)三維(3d)多邊形網(wǎng)格,所述計(jì)算機(jī)模擬與存儲(chǔ)模塊相關(guān)聯(lián),所述存儲(chǔ)模塊至少能夠供其第一分散模擬站、第二分散模擬站和集中處理單元訪問。計(jì)算機(jī)模擬包括計(jì)算機(jī)生成環(huán)境。所述方法包括:在所述第一分散模擬站,在所述計(jì)算機(jī)模擬過程中,確定所述計(jì)算機(jī)生成環(huán)境的三維多邊形網(wǎng)格上的虛擬沖擊的坐標(biāo);在運(yùn)行時(shí),通過所述虛擬沖擊而計(jì)算至少一個(gè)新形成的三維多邊形網(wǎng)格;然后渲染所述至少一個(gè)新形成的三維多邊形網(wǎng)格的至少一個(gè)損壞增強(qiáng)圖像,用于從所述第一分散模擬站的第一視場(chǎng)顯示。所述方法還包括:在所述第二分散模擬站,接收所述虛擬沖擊的坐標(biāo)。所述方法還包括:在所述集中處理單元,接收所述虛擬沖擊的坐標(biāo);通過所述接收的坐標(biāo)而計(jì)算所述至少一個(gè)新形成的三維多邊形網(wǎng)格;通過所述至少一個(gè)新形成的三維多邊形網(wǎng)格而持續(xù)(persistently)更新與所述模擬相關(guān)聯(lián)的存儲(chǔ)模塊。在所述集中處理單元的計(jì)算獨(dú)立于所述第一分散模擬站且按照非實(shí)時(shí)優(yōu)先處理方式進(jìn)行。

在所述第一分散模擬站在運(yùn)行時(shí)通過所述虛擬沖擊而計(jì)算所述至少一個(gè)新形成的三維多邊形網(wǎng)格,可在不更新所述存儲(chǔ)模塊的情況下進(jìn)行。

所述第一分散模擬站可與所述計(jì)算機(jī)生成環(huán)境的第一模擬運(yùn)載工具相關(guān)聯(lián),所述第二分散模擬站可與所述計(jì)算機(jī)生成環(huán)境的第二模擬運(yùn)載工具相關(guān)聯(lián)。在此示例中,所述第一分散模擬站的所述第一視場(chǎng)通過在所述第一模擬運(yùn)載工具內(nèi)的用戶的位置限定,所述第二分散模擬站的所述第二視場(chǎng)通過在所述第二模擬運(yùn)載工具內(nèi)的用戶的位置限定。

所述用于更新?lián)p壞增強(qiáng)三維多邊形網(wǎng)格的方法可進(jìn)一步包括:當(dāng)所述至少一個(gè)新形成的三維多邊形網(wǎng)格進(jìn)入所述第二分散模擬站的所述第二視場(chǎng)時(shí),從所述計(jì)算機(jī)模擬的所述第二分散模擬站加載來(lái)自所述存儲(chǔ)模塊的所述至少一個(gè)新形成的三維多邊形網(wǎng)格。

可替代地,所述用于更新?lián)p壞增強(qiáng)三維多邊形網(wǎng)格的方法可進(jìn)一步包括:在所述第二分散模擬站,在接收到所述虛擬沖擊的坐標(biāo)時(shí),通過所述接收的坐標(biāo)而計(jì)算所述至少一個(gè)新形成的三維多邊形網(wǎng)格。在此示例中,在所述第二分散模擬站的計(jì)算在運(yùn)行時(shí)獨(dú)立于(例如并行于)所述第一分散模擬站進(jìn)行。

在集中處理單元計(jì)算所述至少一個(gè)新形成的三維多邊形網(wǎng)格,可使用比在分散處理單元使用的數(shù)學(xué)定義減影形狀更復(fù)雜的第二數(shù)學(xué)定義減影形狀進(jìn)行。

所述用于更新?lián)p壞增強(qiáng)三維多邊形網(wǎng)格的方法可進(jìn)一步包括:當(dāng)所述至少一個(gè)新形成的三維多邊形網(wǎng)格再次進(jìn)入所述第一視場(chǎng)時(shí),在所述第一分散模擬站加載來(lái)自所述存儲(chǔ)模塊的所述至少一個(gè)新形成的三維多邊形網(wǎng)格。

所述更新可通過以下步驟進(jìn)行:將至少一個(gè)新文件存儲(chǔ)在所述存儲(chǔ)模塊的文件系統(tǒng)中,以對(duì)應(yīng)于所述至少一個(gè)新形成的三維多邊形網(wǎng)格;以及將至少一個(gè)事件存儲(chǔ)在所述存儲(chǔ)模塊的數(shù)據(jù)庫(kù)中,以對(duì)應(yīng)于所述計(jì)算所述至少一個(gè)新形成的三維多邊形網(wǎng)格的完成。

所述存儲(chǔ)模塊可包括文件系統(tǒng),在所述集中處理單元的計(jì)算可進(jìn)一步包括:定位所述文件系統(tǒng)中對(duì)應(yīng)于所述三維多邊形網(wǎng)格的內(nèi)容文件的最近版本;驗(yàn)證是否存在與所述內(nèi)容文件相關(guān)聯(lián)的至少一個(gè)事務(wù)標(biāo)記文件,所述至少一個(gè)事務(wù)標(biāo)記文件指示出所述內(nèi)容文件當(dāng)前是否經(jīng)受(subjectto)進(jìn)行中的事務(wù);當(dāng)所述內(nèi)容文件當(dāng)前未經(jīng)受進(jìn)行中的事務(wù)時(shí),所述方法于是包括:將所述內(nèi)容文件復(fù)制到所述文件系統(tǒng)上的一新的內(nèi)容文件中;通過所述至少一個(gè)新形成的三維多邊形網(wǎng)格更新所述新的內(nèi)容文件,且所述新的內(nèi)容文件的名稱與所述最近版本相比反映出較新版本;更新所述至少一個(gè)事務(wù)標(biāo)記文件。

當(dāng)所述內(nèi)容文件當(dāng)前經(jīng)受進(jìn)行中的事務(wù)時(shí),所述方法可進(jìn)一步包括:等待,直到所述至少一個(gè)事務(wù)標(biāo)記文件指示出進(jìn)行中的事務(wù)完成;創(chuàng)建新的開始事務(wù)標(biāo)記文件,且所述新的開始事務(wù)標(biāo)記文件的名稱與所述進(jìn)行中的事務(wù)之后的所述內(nèi)容文件的名稱相比反映出較新版本;通過所述至少一個(gè)新形成的三維多邊形網(wǎng)格更新所述新的內(nèi)容文件,所述新的內(nèi)容文件的名稱反映出與所述開始事務(wù)文件相同的版本;以及創(chuàng)建新的結(jié)束事務(wù)標(biāo)記文件,所述結(jié)束事務(wù)標(biāo)記文件的名稱反映出與所述開始事務(wù)標(biāo)記文件相同的版本。

所述存儲(chǔ)模塊可包括文件系統(tǒng),所述方法可進(jìn)一步包括:當(dāng)在所述集中處理單元接收到所述虛擬沖擊的所述坐標(biāo)之后而且當(dāng)從所述集中處理單元更新之前,在所述集中處理單元接收所述三維多邊形網(wǎng)格上的第二虛擬沖擊的坐標(biāo);定位所述文件系統(tǒng)中對(duì)應(yīng)于所述三維多邊形網(wǎng)格的內(nèi)容文件的最近版本;創(chuàng)建第一開始事務(wù)標(biāo)記文件,所述第一開始事務(wù)標(biāo)記文件的名稱反映出與所述最近版本相比的第一新版本;創(chuàng)建第一新內(nèi)容文件,其具有通過所述虛擬沖擊計(jì)算出的所述至少一個(gè)新形成的三維多邊形網(wǎng)格,所述第一新內(nèi)容文件的名稱反映出所述第一新版本;創(chuàng)建第一結(jié)束事務(wù)標(biāo)記文件,所述第一結(jié)束事務(wù)標(biāo)記文件的名稱反映出與所述第一開始事務(wù)標(biāo)記文件相同的版本;創(chuàng)建第二開始事務(wù)標(biāo)記文件,所述第二開始事務(wù)標(biāo)記文件的名稱反映出與所述第一新版本相比的第二新版本;創(chuàng)建第二新內(nèi)容文件,其具有通過所述第二虛擬沖擊計(jì)算的所述至少一個(gè)新形成的三維多邊形網(wǎng)格,所述第二新內(nèi)容文件的名稱反映出所述第二新版本;以及創(chuàng)建第二結(jié)束事務(wù)標(biāo)記文件,所述第二結(jié)束事務(wù)標(biāo)記文件的名稱反映出與所述第二開始事務(wù)標(biāo)記文件相同的版本。

根據(jù)第三組實(shí)施例的本發(fā)明的第二方面涉及一種系統(tǒng),用于在包括計(jì)算機(jī)生成環(huán)境的計(jì)算機(jī)模擬中更新?lián)p壞增強(qiáng)三維(3d)多邊形網(wǎng)格。所述的計(jì)算機(jī)系統(tǒng)包括:存儲(chǔ)模塊,其與包括計(jì)算機(jī)生成環(huán)境的所述計(jì)算機(jī)模擬關(guān)聯(lián);第一分散模擬站;第二分散模擬站;集中處理單元。

第一分散模擬站,用于:在所述計(jì)算機(jī)模擬過程中確定所述計(jì)算機(jī)生成環(huán)境的三維多邊形網(wǎng)格上的虛擬沖擊的坐標(biāo);在運(yùn)行時(shí)通過所述虛擬沖擊而計(jì)算至少一個(gè)新形成的三維多邊形網(wǎng)格;然后渲染所述至少一個(gè)新形成的三維多邊形網(wǎng)格的至少一個(gè)損壞增強(qiáng)圖像,用于從所述第一分散模擬站的視場(chǎng)顯示。

第二分散模擬站,用于接收所述虛擬物的坐標(biāo);

集中處理單元,用于:接收所述虛擬物的坐標(biāo);通過所確定的坐標(biāo)而計(jì)算所述至少一個(gè)新形成的三維多邊形網(wǎng)格,其中,在所述集中處理單元的計(jì)算獨(dú)立于所述第一分散模擬站且按照非實(shí)時(shí)優(yōu)先處理方式(innon-real-timepriorityprocessing)進(jìn)行;以及通過所述至少一個(gè)新形成的三維多邊形網(wǎng)格而持續(xù)(persistently)更新與所述模擬相關(guān)聯(lián)的存儲(chǔ)模塊。

所述第一分散模擬站可以在運(yùn)行時(shí)通過所述虛擬沖擊計(jì)算所述至少一個(gè)新形成的三維多邊形網(wǎng)格,而不更新所述存儲(chǔ)模塊。

所述第一分散模擬站可與所述計(jì)算機(jī)生成環(huán)境的第一模擬運(yùn)載工具相關(guān)聯(lián),所述第一分散模擬站的所述第一視場(chǎng)因而可通過在所述第一模擬運(yùn)載工具內(nèi)的用戶的位置限定;所述第二分散模擬站可與所述計(jì)算機(jī)生成環(huán)境的第二模擬運(yùn)載工具相關(guān)聯(lián),所述第二分散模擬站的所述第二視場(chǎng)因而可通過在所述第二模擬運(yùn)載工具內(nèi)的用戶的位置限定。

所述第二分散模擬站可進(jìn)一步:當(dāng)所述至少一個(gè)新形成的三維多邊形網(wǎng)格進(jìn)入所述第二分散模擬站的所述第二視場(chǎng)時(shí)加載來(lái)自所述存儲(chǔ)模塊的所述至少一個(gè)新形成的三維多邊形網(wǎng)格。

可替代地,所述第二分散模擬站可進(jìn)一步:在接收到所述虛擬沖擊的坐標(biāo)時(shí)通過所述接收的坐標(biāo)而計(jì)算所述至少一個(gè)新形成的三維多邊形網(wǎng)格。在此示例中,在所述第二分散模擬站的計(jì)算在運(yùn)行時(shí)獨(dú)立于(例如并行于)所述第一分散模擬站進(jìn)行。

在集中處理單元計(jì)算所述至少一個(gè)新形成的三維多邊形網(wǎng)格,可使用比在分散處理單元使用的數(shù)學(xué)定義減影形狀更復(fù)雜的第二數(shù)學(xué)定義減影形狀進(jìn)行。

所述第一分散模擬站可進(jìn)一步:當(dāng)所述至少一個(gè)新形成的三維多邊形網(wǎng)格再次進(jìn)入所述第一視場(chǎng)時(shí)加載來(lái)自所述存儲(chǔ)模塊的所述至少一個(gè)新形成的三維多邊形網(wǎng)格。

所述集中處理單元可通過以下步驟進(jìn)行更新:將至少一個(gè)新文件存儲(chǔ)在所述存儲(chǔ)模塊的文件系統(tǒng)中,以對(duì)應(yīng)于所述至少一個(gè)新形成的三維多邊形網(wǎng)格;以及將至少一個(gè)事件存儲(chǔ)在所述存儲(chǔ)模塊的數(shù)據(jù)庫(kù)中,以對(duì)應(yīng)于所述計(jì)算所述至少一個(gè)新形成的三維多邊形網(wǎng)格的完成。

所述存儲(chǔ)模塊可包括文件系統(tǒng),所述集中處理單元可通過進(jìn)一步執(zhí)行以下步驟而執(zhí)行所述計(jì)算:進(jìn)一步定位所述文件系統(tǒng)中對(duì)應(yīng)于所述三維多邊形網(wǎng)格的內(nèi)容文件的最近版本;驗(yàn)證是否存在與所述內(nèi)容文件相關(guān)聯(lián)的至少一個(gè)事務(wù)標(biāo)記文件,所述至少一個(gè)事務(wù)標(biāo)記指示出所述內(nèi)容文件當(dāng)前是否經(jīng)受進(jìn)行中的事務(wù);以及當(dāng)所述內(nèi)容文件當(dāng)前未經(jīng)受進(jìn)行中的事務(wù)時(shí),集中處理單元可進(jìn)一步將所述內(nèi)容文件復(fù)制到所述文件系統(tǒng)上的一個(gè)新的內(nèi)容文件中;通過所述至少一個(gè)新形成的三維多邊形網(wǎng)格更新所述新的內(nèi)容文件,且所述新的內(nèi)容文件的名稱與所述最近版本相比反映出較新版本;更新所述至少一個(gè)事務(wù)標(biāo)記文件。

當(dāng)所述內(nèi)容文件當(dāng)前經(jīng)受(subjectto)進(jìn)行中的事務(wù)時(shí),所述集中處理單元可進(jìn)一步用于:等待,直到所述至少一個(gè)事務(wù)標(biāo)記文件指示出進(jìn)行中的事務(wù)完成;創(chuàng)建新的開始事務(wù)標(biāo)記文件,且所述新的開始事務(wù)標(biāo)記文件的名稱與所述進(jìn)行中的事務(wù)之后的所述內(nèi)容文件的名稱相比反映出較新版本;通過所述至少一個(gè)新形成的三維多邊形網(wǎng)格更新所述新的內(nèi)容文件,所述新的內(nèi)容文件的名稱反映出與所述開始事務(wù)文件相同的版本;以及創(chuàng)建新的結(jié)束事務(wù)標(biāo)記文件,所述結(jié)束事務(wù)標(biāo)記文件的名稱反映出與所述開始事務(wù)標(biāo)記文件相同的版本。

所述存儲(chǔ)模塊可包括文件系統(tǒng),所述集中處理單元可進(jìn)一步:當(dāng)接收到所述虛擬沖擊的所述坐標(biāo)之后且當(dāng)更新之前,接收所述三維多邊形網(wǎng)格上的第二虛擬沖擊的坐標(biāo);定位所述文件系統(tǒng)中對(duì)應(yīng)于所述三維多邊形網(wǎng)格的內(nèi)容文件的最近版本;創(chuàng)建第一開始事務(wù)標(biāo)記文件,所述第一開始事務(wù)標(biāo)記文件的名稱反映出與所述最近版本相比的第一新版本;創(chuàng)建第一新內(nèi)容文件,其具有從所述虛擬沖擊計(jì)算的所述至少一個(gè)新形成的三維多邊形網(wǎng)格,所述第一新內(nèi)容文件的名稱反映出所述第一新版本;創(chuàng)建第一結(jié)束事務(wù)標(biāo)記文件,所述第一結(jié)束事務(wù)標(biāo)記文件的名稱反映出與所述第一開始事務(wù)標(biāo)記文件相同的版本;創(chuàng)建第二開始事務(wù)標(biāo)記文件,所述第二開始事務(wù)標(biāo)記文件的名稱反映出與所述第一新版本相比的第二新版本;創(chuàng)建第二新內(nèi)容文件,其具有從所述第二虛擬沖擊計(jì)算的所述至少一個(gè)新形成的三維多邊形網(wǎng)格,所述第二新內(nèi)容文件的名稱反映出所述第二新版本;以及創(chuàng)建第二結(jié)束事務(wù)標(biāo)記文件,所述第二結(jié)束事務(wù)標(biāo)記文件的名稱反映出與所述第二開始事務(wù)標(biāo)記文件相同的版本。

附圖說明

通過以下的結(jié)合附圖的詳細(xì)描述,本發(fā)明的進(jìn)一步的特征和示例性優(yōu)點(diǎn)將變得顯見,其中:

圖1是根據(jù)本發(fā)明教示的示例性計(jì)算機(jī)系統(tǒng)的邏輯展示;

圖2是根據(jù)本發(fā)明第一組實(shí)施例的第一示例性渲染方法的流程圖;

圖3是根據(jù)本發(fā)明第二組實(shí)施例的第二示例性渲染方法的流程圖;

圖4是根據(jù)本發(fā)明第二組實(shí)施例的第三示例性渲染方法的流程圖;

圖5是根據(jù)本發(fā)明第三組實(shí)施例的示例性數(shù)據(jù)更新方法的流程圖;

圖6a、6b、6c、6d、6e在下文中一起被稱為圖6,是根據(jù)本發(fā)明第一組實(shí)施例的示例性渲染方法的示例性的視覺和邏輯展示;以及

圖7a、7b、7c、7d、7e在下文中一起被稱為圖7,是根據(jù)本發(fā)明第二組實(shí)施例的示例性渲染方法的示例性的視覺展示。

具體實(shí)施方式

現(xiàn)在參見附圖,其中圖1顯示出根據(jù)本發(fā)明教示的示例性計(jì)算機(jī)系統(tǒng)1200的邏輯展示。圖1還顯示出可用于本發(fā)明特定實(shí)施例中的光學(xué)網(wǎng)絡(luò)1300、另外的計(jì)算機(jī)系統(tǒng)1200a…g、和集中計(jì)算機(jī)系統(tǒng)1500的邏輯展示。計(jì)算機(jī)系統(tǒng)1200包括處理器模塊1230和存儲(chǔ)器模塊1220。顯示裝置設(shè)置有計(jì)算機(jī)系統(tǒng)(1100a)和/或連通于計(jì)算機(jī)系統(tǒng)(1100b),這兩種解決方案均被稱為1100。在圖1的示例中,顯示裝置1100b可經(jīng)由專用端口(例如經(jīng)由邏輯鏈路1102)或者通過網(wǎng)絡(luò)1300(例如經(jīng)由邏輯鏈路1104)連通于計(jì)算機(jī)系統(tǒng)1200。顯示裝置1100可包括至少一個(gè)物理顯示單元,還可包括一種或多種技術(shù)(例如陰極射線管(crt)、液晶顯示(lcd)屏、或投影儀、任意將圖像投射到屏、鏡和/或顯示表面等的設(shè)備)的多個(gè)顯示單元。存儲(chǔ)模塊可設(shè)置有計(jì)算機(jī)系統(tǒng)(1400a)和/或連通于計(jì)算機(jī)系統(tǒng)(1400b),這兩種解決方案在描述中均被稱為1400。存儲(chǔ)裝置模塊1400a和/或1400b可表現(xiàn)出一種或多種邏輯或物理以及本地或遠(yuǎn)程的硬盤驅(qū)動(dòng)器(hdd)(或其陣列)。存儲(chǔ)裝置模塊1400可以進(jìn)一步表現(xiàn)出本地或遠(yuǎn)程的數(shù)據(jù)庫(kù),所述數(shù)據(jù)庫(kù)可供計(jì)算機(jī)系統(tǒng)1200通過標(biāo)準(zhǔn)化或?qū)S械慕涌谠L問。計(jì)算機(jī)系統(tǒng)1200在特定實(shí)施例中可包括網(wǎng)絡(luò)接口模塊1210和設(shè)備模擬模塊1250。處理器模塊可進(jìn)一步包括或者可顯示在邏輯上包括:圖像生成器模塊1232和模擬計(jì)算模塊1234。圖像生成器模塊1232還可包括一個(gè)或多個(gè)專用圖形處理單元(未示出)。

網(wǎng)絡(luò)接口模塊1210(例如通過一個(gè)或多個(gè)其接口,如1212,1214,1216)可用于本發(fā)明的應(yīng)用環(huán)境中以連通于一個(gè)或多個(gè)其它計(jì)算機(jī)系統(tǒng)1200a….g、集中計(jì)算機(jī)系統(tǒng)1500、顯示裝置1100b(例如在以太網(wǎng)上顯示數(shù)據(jù))和/或存儲(chǔ)模塊1400b(例如用于存儲(chǔ)和/或加載計(jì)算機(jī)模擬模型)。經(jīng)由網(wǎng)絡(luò)接口模塊1210的通訊可經(jīng)由另外的網(wǎng)絡(luò)節(jié)點(diǎn)(例如,一個(gè)或多個(gè)網(wǎng)絡(luò)中樞、網(wǎng)絡(luò)開關(guān)、網(wǎng)絡(luò)路由器、防火墻等等)通過網(wǎng)絡(luò)1300進(jìn)行或者直接進(jìn)行(例如節(jié)點(diǎn)對(duì)節(jié)點(diǎn)電纜)。所述一個(gè)或多個(gè)接口可使用不同協(xié)議和物理介質(zhì)(例如在雙絞電纜上的局域網(wǎng)(lan)、無(wú)線lan、在電纜、光纖、蜂窩網(wǎng)絡(luò)等上的廣域網(wǎng)(wan)、城域網(wǎng)(man),等等)。

計(jì)算機(jī)系統(tǒng)1200可被用作模擬站(例如訓(xùn)練裝置),用于包括計(jì)算機(jī)生成環(huán)境的計(jì)算機(jī)模擬。計(jì)算機(jī)系統(tǒng)1200可用作單獨(dú)的模擬系統(tǒng)。計(jì)算機(jī)系統(tǒng)1200也可以與集中計(jì)算機(jī)系統(tǒng)1500一起使用以提供計(jì)算機(jī)模擬。例如,集中計(jì)算機(jī)系統(tǒng)1500可被稱為模擬引擎,并可提供計(jì)算機(jī)模擬的整體模擬管理,而計(jì)算機(jī)系統(tǒng)1200可分散于集中計(jì)算機(jī)系統(tǒng)1500并可提供用戶專用模擬管理。計(jì)算機(jī)模擬的模擬管理的示例包括:處理模擬寬泛事件、模擬事件離線處理、計(jì)算機(jī)生成環(huán)境預(yù)處理,等等。用戶專用模擬管理的示例包括:考慮視場(chǎng)、用戶位置的情況下生成圖像(例如使用一個(gè)或多個(gè)圖像生成模塊1232)、使用模擬計(jì)算模塊1234在運(yùn)行時(shí)處理模擬事件(例如視場(chǎng)內(nèi)的事件)、處理來(lái)自模擬設(shè)備的輸入、通過模擬設(shè)備和/或反饋裝置(設(shè)備振動(dòng)、用戶和/或整個(gè)系統(tǒng)的物理運(yùn)動(dòng),等等)使用模擬計(jì)算模塊1234和設(shè)備模擬模塊1250提供反饋。

在示例性實(shí)施例(其中計(jì)算機(jī)模擬至少涉及計(jì)算機(jī)系統(tǒng)1200和集中計(jì)算機(jī)系統(tǒng)1500)中,計(jì)算機(jī)系統(tǒng)1200和集中計(jì)算機(jī)系統(tǒng)1500之間的通訊可按照不同方式處理,這取決于不同的架構(gòu)選擇。例如,系統(tǒng)1200和1500可在單個(gè)計(jì)算機(jī)系統(tǒng)(單計(jì)算機(jī)系統(tǒng)的虛擬機(jī),單計(jì)算機(jī)系統(tǒng)上執(zhí)行的單個(gè)計(jì)算機(jī)程序的獨(dú)立線程)內(nèi)使用分布處理(distributedprocessing)而在邏輯上區(qū)別。因而可在單個(gè)計(jì)算機(jī)內(nèi)部保持通訊。不過,在大多數(shù)實(shí)施例中,系統(tǒng)1200和1500使用在至少兩個(gè)計(jì)算機(jī)系統(tǒng)上(例如在具有其自身專用處理器的不同系統(tǒng)上)的分布處理而在邏輯上區(qū)別。因而通訊可典型地在系統(tǒng)間進(jìn)行。

在示例性實(shí)施例中,計(jì)算機(jī)模擬涉及集中計(jì)算機(jī)系統(tǒng)1500和計(jì)算機(jī)系統(tǒng)1200(并可能涉及另外的計(jì)算機(jī)系統(tǒng)1200a…g),可在運(yùn)行時(shí)使用模擬網(wǎng)絡(luò)(例如被鋪設(shè)在網(wǎng)絡(luò)1300上)以交換信息(例如涉及事件的模擬信息)。例如,關(guān)聯(lián)于計(jì)算機(jī)系統(tǒng)1200的運(yùn)載工具運(yùn)動(dòng)和涉及計(jì)算機(jī)系統(tǒng)1200與計(jì)算機(jī)生成環(huán)境相互作用的事件,可通過模擬網(wǎng)絡(luò)從計(jì)算機(jī)系統(tǒng)1200共享。類似地,模擬寬泛事件(simulation-wideevent)(例如涉及對(duì)計(jì)算機(jī)生成環(huán)境的持續(xù)(persistent)修改、修改后的模擬天氣,等等)可通過模擬網(wǎng)絡(luò)從集中計(jì)算機(jī)系統(tǒng)1500共享。此外,存儲(chǔ)模塊1400(例如網(wǎng)絡(luò)數(shù)據(jù)庫(kù)系統(tǒng))能夠供計(jì)算機(jī)模擬中涉及的所有計(jì)算機(jī)系統(tǒng)訪問,可用于存儲(chǔ)對(duì)于渲染計(jì)算機(jī)生成環(huán)境而言必要的數(shù)據(jù)(例如計(jì)算機(jī)生成環(huán)境的每個(gè)三維多邊形網(wǎng)格的數(shù)據(jù),等等)。在一些實(shí)施例中,僅從集中計(jì)算機(jī)系統(tǒng)1500更新存儲(chǔ)模塊1400,計(jì)算機(jī)系統(tǒng)1200、12000a…g僅從存儲(chǔ)模塊1400加載數(shù)據(jù)。

在第一組示例性實(shí)施例中,本發(fā)明的目標(biāo)在于:改進(jìn)在計(jì)算機(jī)模擬過程中考慮動(dòng)態(tài)事件且同時(shí)考慮到物質(zhì)資源預(yù)期似然性/合理性和使用性時(shí)的方式。在計(jì)算機(jī)模擬中的動(dòng)態(tài)事件的示例是:在計(jì)算機(jī)模擬的計(jì)算機(jī)生成環(huán)境內(nèi)的給定地點(diǎn)處的爆炸、沖擊(例如來(lái)自惰性拋射體)、或爆炸沖擊(例如來(lái)自火箭或?qū)?。這樣的動(dòng)態(tài)事件可對(duì)計(jì)算機(jī)模擬中表現(xiàn)的結(jié)構(gòu)形成損壞。所述損壞對(duì)動(dòng)態(tài)事件的啟動(dòng)用戶而言應(yīng)是可見的(例如在顯示上渲染)。在一些實(shí)施例中,損壞在計(jì)算機(jī)模擬的集中模擬引擎中是持續(xù)的,也可以對(duì)分散于集中模擬引擎的其它計(jì)算機(jī)模擬方(如果存在的話)是可見的。在第一組示例性實(shí)施例中,本發(fā)明試圖支持渲染在美學(xué)上有吸引力的圖像,其(若非現(xiàn)實(shí)的)至少似然地/合理地表現(xiàn)出可通過動(dòng)態(tài)事件導(dǎo)致的損壞。當(dāng)然,本領(lǐng)域技術(shù)人員將易于理解,所渲染的在美學(xué)上有吸引力的圖像是主觀的,且取決于形成必要視覺紋理/質(zhì)感(texture)而進(jìn)行的美術(shù)工作的質(zhì)量。本發(fā)明雖然支持適合渲染視覺質(zhì)感,但并不意味著改進(jìn)不佳的美術(shù)工作。

在第二組示例性實(shí)施例中,本發(fā)明的目標(biāo)在于:改進(jìn)在計(jì)算機(jī)模擬過程中在考慮到物質(zhì)資源預(yù)期似然性/合理性和使用性時(shí)表現(xiàn)三維多邊形網(wǎng)格的方式。例如,一個(gè)或多個(gè)三維多邊形網(wǎng)格可呈現(xiàn)非現(xiàn)實(shí)的(unrealistic)形狀(例如應(yīng)崩塌的斷開部件或者不平衡的形狀,等等)。基于考慮錨定點(diǎn)(anchorpoint)(例如在其環(huán)境(例如模擬的基底)中的三維網(wǎng)格連接部)而構(gòu)建的多邊形網(wǎng)格的邏輯表現(xiàn)(例如連接性圖線),去除(例如從用戶視線中消失或崩塌)多邊形網(wǎng)格的一些渲染(render)面。例如,斷開部件可被識(shí)別為從多邊形網(wǎng)格的錨定部分?jǐn)嚅_,而不平衡形狀可基于質(zhì)心和在不平衡形狀與多邊形網(wǎng)格其余部分之間的定位短鏈路(locatedshortlink)而識(shí)別。所述非消失和/或崩塌可在加載多邊形網(wǎng)格時(shí)進(jìn)行,從而例如確保所述模擬顯示出開始時(shí)的可信的結(jié)構(gòu)。所述的消失和/或崩塌也可結(jié)合計(jì)算機(jī)模擬中的動(dòng)態(tài)事件進(jìn)行(例如,如先前在第一組實(shí)施例中所述)。非現(xiàn)實(shí)形狀可從模擬中消失或者可轉(zhuǎn)變?yōu)闅堅(jiān)?例如,煙或其它對(duì)所述消失加以掩蓋的效果、從所述形狀到殘?jiān)膭?dòng)畫、墜落結(jié)構(gòu)的動(dòng)畫、和/或所述形狀瞬間轉(zhuǎn)變?yōu)闅堅(jiān)?例如通過煙或其它效果掩蓋),等等)。

在第三組實(shí)施例中,本發(fā)明的目標(biāo)在于:改進(jìn)動(dòng)態(tài)事件在計(jì)算機(jī)模擬過程中在至少兩個(gè)計(jì)算機(jī)模擬站與集中處理單元(例如中心模擬引擎單元)間共享的方式。多邊形網(wǎng)格上的動(dòng)態(tài)事件通過第一計(jì)算機(jī)模擬站處理為一個(gè)或多個(gè)新形成的三維多邊形網(wǎng)格。相同多邊形網(wǎng)格上的相同動(dòng)態(tài)事件也由集中處理單元獨(dú)立于第一計(jì)算機(jī)模擬站而處理(例如并行地和/或按照非實(shí)時(shí)處理方式)為新形成的三維多邊形網(wǎng)格。通過集中處理單元進(jìn)行的非實(shí)時(shí)處理(non-realtimeprocessing)可涉及與通過第一計(jì)算機(jī)處境系統(tǒng)進(jìn)行的處理很相同的數(shù)學(xué)操作,不過也可以涉及至少一種更復(fù)雜的操作而形成愈加現(xiàn)實(shí)的新形成的三維多邊形網(wǎng)格。集中處理單元然后持續(xù)更新所述新形成的三維多邊形網(wǎng)格至存儲(chǔ)模塊1400中,其中所有相關(guān)分散模擬站能夠訪問存儲(chǔ)模塊1400。在一些實(shí)施例中,當(dāng)?shù)诙?dòng)態(tài)事件發(fā)生在所述多邊形網(wǎng)格和/或新形成的三維多邊形網(wǎng)格(例如來(lái)自第二計(jì)算機(jī)模擬站)上時(shí),集中處理單元可使用表現(xiàn)不同相關(guān)多邊形網(wǎng)格的各個(gè)文件的版本管理,以確保正確完成操作(例如使用事務(wù)標(biāo)記文件)。

本領(lǐng)域技術(shù)人員將易于理解:來(lái)自第一、第二、第三組實(shí)施例的全部或者部分特征可在一起實(shí)施。

例如,在一些實(shí)施例中,一旦動(dòng)態(tài)事件被處理且損壞增強(qiáng)圖像被渲染,則隨后的多邊形網(wǎng)格從集中單元或者模擬引擎持續(xù)存儲(chǔ),不同的模擬站(或訓(xùn)練裝置)可然后似然地/合理地與隨后的三維多邊形網(wǎng)格相互作用。例如,損壞的圍欄應(yīng)被去除其一些或所有幾何形狀以允許坦克通過。

雖然目的在于使損壞增強(qiáng)圖像至少在運(yùn)行時(shí)被渲染(即,盡可能是無(wú)縫隙的或者從用戶視角看是幾乎瞬時(shí)的),不過在一些實(shí)施例中,可以在特定時(shí)間中使用另外的特別效果,直到損壞增強(qiáng)圖像被渲染(例如動(dòng)畫爆炸和灰塵)。特別效果應(yīng)設(shè)置有低延遲(例如在幾百毫秒的量級(jí))以使效果似然/合理。

在本發(fā)明的應(yīng)用環(huán)境中,運(yùn)行時(shí)的執(zhí)行對(duì)應(yīng)于在計(jì)算機(jī)模擬過程中執(zhí)行的操作,可具有從用戶視角的對(duì)計(jì)算機(jī)模擬感知特質(zhì)(perceivedquality)的沖擊。在運(yùn)行時(shí)執(zhí)行的操作因而典型地需要滿足特定的性能限制,所述性能限制可以根據(jù)例如最大時(shí)間、最大幀數(shù)、和/或處理循環(huán)數(shù)而表達(dá)。例如,在幀率為每秒60幀的模擬中,預(yù)期在5至10幀內(nèi)進(jìn)行的修改將對(duì)用戶無(wú)縫顯現(xiàn)。

在一些實(shí)施例中,可以撤銷涉及一個(gè)或多個(gè)動(dòng)態(tài)事件的損壞。

計(jì)算機(jī)模擬可以例如用于訓(xùn)練目的和/或用于演示來(lái)自歷史數(shù)據(jù)(例如來(lái)自飛機(jī)、火車等的事件記錄裝置(例如黑匣))的場(chǎng)景。計(jì)算機(jī)模擬可基于場(chǎng)景(例如其中驅(qū)動(dòng)計(jì)算機(jī)生成環(huán)境的模擬程序包括一種或多種事件、運(yùn)動(dòng)、聲音,等等)。

計(jì)算機(jī)模擬可為運(yùn)載工具計(jì)算機(jī)模擬(例如單個(gè)運(yùn)載工具或同時(shí)多個(gè)運(yùn)載工具),用于渲染圖像的視場(chǎng)可通過模擬運(yùn)載工具內(nèi)用戶的位置限定(例如,不同視場(chǎng)用于不同模擬運(yùn)載工具)。本發(fā)明不限于模擬運(yùn)載工具的類型,其可為陸上的(轎車、坦克等)、地下的、空中的(例如飛機(jī)、航天飛機(jī)等)、漂浮的(例如船),等等。視場(chǎng)或視點(diǎn)可通過模擬運(yùn)載工具的受訓(xùn)者的位置(例如與模擬交互)和/或模擬運(yùn)載工具的操作者的位置(例如,僅確定模擬程序或者也參與模擬)限定。

計(jì)算機(jī)生成環(huán)境包括至少一個(gè)三維(3d)多邊形網(wǎng)格。典型地,多個(gè)三維多邊形網(wǎng)格顯現(xiàn)在計(jì)算機(jī)生成環(huán)境中。在計(jì)算機(jī)模擬中在多邊形網(wǎng)格與模擬運(yùn)載工具之間以及在多邊形網(wǎng)格與動(dòng)態(tài)事件之間預(yù)期發(fā)生相互作用,例如觸發(fā)對(duì)其損壞。動(dòng)態(tài)事件典型地從計(jì)算機(jī)模擬的用戶啟動(dòng)。

圖2例示出根據(jù)第一組實(shí)施例的用于在計(jì)算機(jī)模擬中渲染損壞增強(qiáng)圖像的示例性方法2000。計(jì)算機(jī)模擬包括計(jì)算機(jī)生成環(huán)境。方法2000可以利用結(jié)構(gòu)實(shí)體幾何(csg)操作,通過使其一個(gè)或多個(gè)部分從計(jì)算機(jī)生成環(huán)境中去除而從接近于擬修改沖擊的另一修改三維多邊形網(wǎng)格去除一體積(volume)。

在一些實(shí)施例中,方法2000可包括:在開始計(jì)算機(jī)模擬之前,識(shí)別形成非水密性(non-watertight)網(wǎng)格的一個(gè)或多個(gè)開放的多邊形網(wǎng)格(例如使用處理器模塊1230)。識(shí)別開放的多邊形網(wǎng)格可以通過計(jì)算多邊形網(wǎng)格的連接性圖線或其它邏輯表示(logicalrepresentation)而進(jìn)行。方法2000還可包括:對(duì)于每個(gè)識(shí)別出的開放的多邊形網(wǎng)格,嘗試封閉對(duì)應(yīng)的多邊形網(wǎng)格,并在不可行時(shí)將對(duì)應(yīng)的多邊形網(wǎng)格標(biāo)記為不可損壞。

方法2000包括:在計(jì)算機(jī)模擬過程中,確定具有一有效半徑的虛擬沖擊在計(jì)算機(jī)生成環(huán)境中的坐標(biāo)2010(例如使用處理器模塊1230)。在涉及多于一個(gè)計(jì)算機(jī)系統(tǒng)的一些實(shí)施例中,虛擬沖擊事件可在模擬網(wǎng)絡(luò)上共享。

作為一個(gè)選項(xiàng),方法2000可進(jìn)一步包括:在確定坐標(biāo)2010之后渲染至少一個(gè)臨時(shí)圖像以進(jìn)行顯示,包括在所確定的坐標(biāo)之處或其近處的分心的視覺效果,至少直到所述至少一個(gè)損壞增強(qiáng)圖像的渲染被執(zhí)行(例如使用處理器模塊1230)。在一些實(shí)施例中,分心的視覺效果可實(shí)際上與虛擬沖擊的坐標(biāo)斷開聯(lián)系,但仍提供分心的效果(例如在考慮到視場(chǎng)的情況下渲染二維圖像)。

方法2000然后接著在考慮有效半徑的情況下在所述坐標(biāo)處識(shí)別2020受到虛擬沖擊影響的多個(gè)第一渲染面(例如三角形)(例如使用處理器模塊1230)。多個(gè)第一渲染面與計(jì)算機(jī)生成環(huán)境的至少一個(gè)三維多邊形網(wǎng)格關(guān)聯(lián)。有效半徑可在計(jì)算機(jī)生成環(huán)境中固定,或者可通過被執(zhí)行以觸發(fā)虛擬沖擊的操作(例如所使用炸彈/導(dǎo)彈的類型等等)和/或通過計(jì)算機(jī)生成環(huán)境的至少一個(gè)三維多邊形網(wǎng)格(多邊形的模擬材料,為混凝土、砂石等等)進(jìn)行確定。

在識(shí)別2020多個(gè)第一渲染面之前,方法2000還可以包括:驗(yàn)證所述至少一個(gè)三維多邊形網(wǎng)格沒有被標(biāo)記為不可損壞。當(dāng)三維多邊形網(wǎng)格被標(biāo)記為不可損壞時(shí),損壞增強(qiáng)渲染圖像可被限制為前述的分心的效果。

此后,方法2000包括:將多個(gè)第一渲染面修剪2030為在考慮到有效半徑情況下計(jì)算出的數(shù)學(xué)定義減影(subtraction)形狀(例如使用處理器模塊1230)。數(shù)學(xué)定義減影形狀可為通過單個(gè)線性數(shù)學(xué)公式表達(dá)的球形或橢球形。所述球形或橢球形對(duì)于簡(jiǎn)化修剪2030操作而言可為優(yōu)選的,修剪2030操作預(yù)期在運(yùn)行時(shí)執(zhí)行。不過,根據(jù)在計(jì)算機(jī)模擬中涉及的計(jì)算機(jī)系統(tǒng)1200的預(yù)期處理能力,可使用更復(fù)雜的數(shù)學(xué)定義減影形狀(其可進(jìn)一步包括隨機(jī)性),例如用以獲得更現(xiàn)實(shí)的效果??蛇x地,方法2000可進(jìn)一步包括:在修剪2030之前確定所述至少一個(gè)三維多邊形網(wǎng)格中的每個(gè)形成水密性網(wǎng)格。作為另一選項(xiàng),方法2000可進(jìn)一步包括:在識(shí)別2020被影響的多個(gè)第一渲染三角形之后,緩存所述多個(gè)第一渲染三角形,由此允許撤銷(undo)修剪2030。修剪2030渲染面可通過對(duì)于擬去除渲染面指示出無(wú)效(null)(或最小)表面而進(jìn)行。使用這種技術(shù)可通過限制新形成的三維多邊形網(wǎng)格的計(jì)算復(fù)雜度而簡(jiǎn)化整個(gè)進(jìn)程。

方法2000然后包括:通過被修剪的多個(gè)第一渲染面而計(jì)算2040多個(gè)第二渲染面(例如使用處理器模塊1230),由此限定出至少一個(gè)新形成的三維多邊形網(wǎng)格;使用視覺紋理渲染2050至少一個(gè)損壞增強(qiáng)圖像以進(jìn)行顯示,包括多個(gè)第二渲染面的子集,所述子集通過計(jì)算機(jī)模擬的視場(chǎng)進(jìn)行確定(例如使用圖像生成模塊1232)。

可選地,方法2000可在運(yùn)行時(shí)通過分散處理單元(其與計(jì)算機(jī)生成環(huán)境的模擬運(yùn)載工具相關(guān)聯(lián))在有限量的毫秒內(nèi)進(jìn)行。在此示例性實(shí)施例中,視場(chǎng)通過模擬運(yùn)載工具內(nèi)的用戶的位置限定。仍在此示例性實(shí)施例中,方法2000可進(jìn)一步包括:在集中處理單元,通過所確定的坐標(biāo)計(jì)算所述至少一個(gè)新形成的三維多邊形網(wǎng)格。在集中處理單元的計(jì)算可獨(dú)立于分散處理單元進(jìn)行(可選地并行進(jìn)行)并按非實(shí)時(shí)優(yōu)先處理(innon-real-timepriorityprocessing)方式進(jìn)行。集中處理單元也可持續(xù)(persistently)更新或存儲(chǔ)所述至少一個(gè)新形成的三維多邊形網(wǎng)格至存儲(chǔ)模塊1400中。

在集中處理單元計(jì)算所述至少一個(gè)新形成的三維多邊形網(wǎng)格,可選地也可使用比在分散處理單元使用的數(shù)學(xué)定義減影形狀更加復(fù)雜的第二數(shù)學(xué)定義減影形狀進(jìn)行。

計(jì)算機(jī)模擬可選地可涉及第二分散處理單元,其與計(jì)算機(jī)生成環(huán)境的第二模擬運(yùn)載工具相關(guān)聯(lián),具有通過第二模擬運(yùn)載工具內(nèi)的第二用戶位置限定的第二視場(chǎng)。方法2000可然后還進(jìn)一步包括:在計(jì)算機(jī)模擬的第二分散處理單元,將通過集中處理單元計(jì)算出的所述至少一個(gè)新形成的三維多邊形網(wǎng)格數(shù)據(jù)從存儲(chǔ)模塊1400加載(例如當(dāng)三維多邊形網(wǎng)格進(jìn)入第二視場(chǎng)時(shí))。

方法2000還可以進(jìn)一步包括:在第二分散處理單元,接收虛擬沖擊的坐標(biāo)(例如從模擬網(wǎng)絡(luò));在運(yùn)行時(shí)并行于所述(第一)分散處理單元而計(jì)算所述至少一個(gè)新形成的三維多邊形網(wǎng)格。無(wú)論本地計(jì)算還是從存儲(chǔ)模塊1400加載,所述至少一個(gè)新形成的三維多邊形網(wǎng)格通過第二分散處理單元渲染,其類似于所述(第一)分散處理單元。本領(lǐng)域技術(shù)人員應(yīng)理解:隨后的虛擬沖擊可以從第二分散處理單元啟動(dòng),第二分散處理單元可然后自己執(zhí)行示例性方法2000。

方法2000可以進(jìn)一步包括:在計(jì)算2040多個(gè)第二渲染面之后,檢測(cè)所述至少一個(gè)新形成的三維多邊形網(wǎng)格以進(jìn)行循環(huán)(forloops)。

渲染2050多個(gè)第二渲染面還可以進(jìn)一步包括:在多個(gè)第二渲染面的子集(對(duì)應(yīng)于先前在至少所述多個(gè)第一渲染面中所表現(xiàn)的表面)上施加損壞紋理、從所述坐標(biāo)向外褪色和超過有效半徑。

圖3例示出根據(jù)第二組實(shí)施例的用于在計(jì)算機(jī)模擬中渲染三維(3d)多邊形網(wǎng)格的似然圖像的示例性方法3000。計(jì)算機(jī)模擬預(yù)期會(huì)具有在其計(jì)算機(jī)生成環(huán)境內(nèi)有效的虛擬重力。存儲(chǔ)器模塊1220可用于存儲(chǔ)計(jì)算機(jī)模擬的多個(gè)三維多邊形網(wǎng)格的相應(yīng)表示。擬存儲(chǔ)的多個(gè)三維多邊形網(wǎng)格可通過至少計(jì)算機(jī)模擬的視場(chǎng)確定,例如使得所確定的多個(gè)三維多邊形可用于在運(yùn)行時(shí)處理。

三維多邊形網(wǎng)格可使用多個(gè)頂點(diǎn)限定(例如在來(lái)自存儲(chǔ)器模塊1220的表示中),從而提供多個(gè)渲染面(例如三角形)。方法3000包括:通過三維多邊形網(wǎng)格的多個(gè)頂點(diǎn)中的至少三個(gè)確定3010錨定點(diǎn)(例如使用處理器模塊1230)。錨定點(diǎn)指示出在三維多邊形網(wǎng)格與基底(ground)之間或在三維多邊形網(wǎng)格與一個(gè)或多個(gè)同位/搭配(collocated)三維多邊形網(wǎng)格之間的連接,其最終連接到基底。

對(duì)于三維多邊形網(wǎng)格的每一個(gè)渲染面而言,方法3000接著確定3030是否存在朝向錨定點(diǎn)的路徑,當(dāng)不存在連接時(shí)從三維多邊形網(wǎng)格中去除這一個(gè)渲染面而形成更新的三維多邊形網(wǎng)格(例如使用處理器模塊1230)。去除渲染面可以通過對(duì)擬去除渲染面指示出無(wú)效(null)(或最小)表面而進(jìn)行。使用這種技術(shù)可通過限制新形成的三維多邊形網(wǎng)格的計(jì)算復(fù)雜度而簡(jiǎn)化整個(gè)進(jìn)程。

更新的三維多邊形網(wǎng)格(包括多個(gè)渲染面的子集)然后使用視覺紋理被渲染,以進(jìn)行顯示3040(例如使用圖像生成模塊1232)。所述子集的渲染面通過計(jì)算機(jī)模擬的視場(chǎng)確定。

在一些實(shí)施例中,方法3000還可包括:在去除渲染面3030之前,確定(未示出)是否存在從渲染面到基底的直接連接。當(dāng)存在直接基底連接時(shí),渲染面被封閉(參見第一組實(shí)施例),又一個(gè)新形成的三維多邊形網(wǎng)格被計(jì)算出并且進(jìn)一步被渲染。

方法3000可包括:通過表現(xiàn)三維多邊形網(wǎng)格的多個(gè)渲染面計(jì)算3020連接性圖線(例如為三維多邊形網(wǎng)格的表示)(例如使用處理器模塊1230)。當(dāng)連接性圖線用作三維多邊形網(wǎng)格的表示時(shí),確定不存在朝向錨定點(diǎn)的路徑涉及:從連接性圖線中去除所述一個(gè)渲染面而形成表現(xiàn)更新的三維多邊形網(wǎng)格的更新的連接性圖線。

例如,專用處理單元可與計(jì)算機(jī)生成環(huán)境的模擬運(yùn)載工具相關(guān)聯(lián),視場(chǎng)可通過模擬運(yùn)載工具內(nèi)的用戶的位置限定。方法3000用于渲染似然圖像,可在運(yùn)行時(shí)通過分散處理單元在有限量的毫秒內(nèi)進(jìn)行(例如使用處理器模塊1230)。

方法3000還可包括:在運(yùn)行時(shí),以多個(gè)新的渲染面更換連接性圖線中的受沖擊渲染面。所述更換在確定是否存在朝向錨定點(diǎn)的路徑之前且在對(duì)三維多邊形網(wǎng)格的虛擬沖擊(影響在所述多個(gè)渲染面中的至少一個(gè)受沖擊渲染面(參見第一組實(shí)施例))之后進(jìn)行。

在渲染三維多邊形網(wǎng)格之前,方法3000還可包括:在運(yùn)行時(shí),通過與三維多邊形網(wǎng)格的一部分相關(guān)聯(lián)的多個(gè)頂點(diǎn)確定該部分的質(zhì)心;考慮到模擬中施加的虛擬重力而確定三維多邊形網(wǎng)格的所述部分從錨定點(diǎn)的視角來(lái)看是不穩(wěn)定的(或不平衡的)。然后,可在不穩(wěn)定部分上識(shí)別出所述多個(gè)渲染面中的不穩(wěn)定渲染面的子集,不穩(wěn)定的渲染面可然后從連接性圖線中去除而形成更新的三維多邊形網(wǎng)格。

圖4例示出根據(jù)第二組實(shí)施例的用于在計(jì)算機(jī)模擬中渲染三維(3d)多邊形網(wǎng)格的似然圖像的另一示例性方法4000。計(jì)算機(jī)模擬預(yù)期會(huì)具有在其計(jì)算機(jī)生成環(huán)境內(nèi)有效的虛擬重力。存儲(chǔ)器模塊1220可用于存儲(chǔ)計(jì)算機(jī)模擬的多個(gè)三維多邊形網(wǎng)格的相應(yīng)表示。擬存儲(chǔ)的多個(gè)三維多邊形網(wǎng)格可通過至少計(jì)算機(jī)模擬的視場(chǎng)確定,例如使得所確定的多個(gè)三維多邊形可用于在運(yùn)行時(shí)處理。

三維多邊形網(wǎng)格可使用多個(gè)頂點(diǎn)限定(例如在來(lái)自存儲(chǔ)器模塊1220的表示中),從而提供多個(gè)渲染面(例如三角形)。方法4000包括:通過三維多邊形網(wǎng)格的多個(gè)頂點(diǎn)中的至少三個(gè)確定4010錨定點(diǎn)(例如使用處理器模塊1230)。錨定點(diǎn)指示出在三維多邊形網(wǎng)格與基底(ground)之間或在三維多邊形網(wǎng)格與一個(gè)或多個(gè)同位(collocated)三維多邊形網(wǎng)格之間的連接,其最終連接到基底。

方法4000然后接著在運(yùn)行時(shí)通過與三維多邊形網(wǎng)格一部分相關(guān)聯(lián)的多個(gè)頂點(diǎn)確定4020該部分的質(zhì)心(例如使用處理器模塊1230),并仍在運(yùn)行時(shí)考慮到模擬中施加的虛擬重力而確定三維多邊形網(wǎng)格的所述部分從錨定點(diǎn)的視角來(lái)看是不穩(wěn)定的。不穩(wěn)定部分上的多個(gè)渲染面中的不穩(wěn)定渲染面的子集可然后被去除4040而形成更新的三維多邊形網(wǎng)格。此后,例如使用圖像生成模塊1232,方法4000接著使用視覺紋理渲染4050更新的三維多邊形網(wǎng)格,以進(jìn)行顯示,包括多個(gè)渲染面的子集,所述子集通過計(jì)算機(jī)模擬的視場(chǎng)而確定。

無(wú)論是在方法3000還是在方法4000的應(yīng)用環(huán)境中,新的渲染面也可以被附加(例如附加到連接性圖線)以封閉更新的三維多邊形網(wǎng)格。

三維多邊形網(wǎng)格可具有與其相關(guān)聯(lián)的不同屬性,例如虛擬拉伸強(qiáng)度和虛擬密度值。當(dāng)去除不穩(wěn)定渲染面4040時(shí),虛擬拉伸強(qiáng)度和虛擬密度值可用于計(jì)算不穩(wěn)定部分的支點(diǎn)(fulcrum)區(qū)域與質(zhì)心相比的虛擬崩塌壓力。所述去除可以僅在虛擬崩塌壓力超過虛擬拉伸強(qiáng)度時(shí)發(fā)生。

確定所述部分是不穩(wěn)定的4030,可選地可通過定位三維多邊形網(wǎng)格上虛擬沖擊周圍的窄鏈路(窄鏈路)而進(jìn)行。窄鏈路可限定所述部分與三維多邊形網(wǎng)格的連接到錨定點(diǎn)的另一部分之間的支點(diǎn)區(qū)域。在此可確定:當(dāng)窄鏈路上方的結(jié)構(gòu)不連接到錨定點(diǎn)而且質(zhì)心不處于支點(diǎn)區(qū)域上方時(shí),所述部分是不穩(wěn)定的4030。定位三維多邊形網(wǎng)格中的窄鏈路,可通過以下方式進(jìn)行:在虛擬沖擊的周圍,識(shí)別多個(gè)頂點(diǎn)中的最低孤立頂點(diǎn),直到窄鏈路被定位或者直到獲得基于性能的閾值(例如時(shí)間極限、幀數(shù)極限、處理循環(huán)數(shù),等等),始于最低孤立頂點(diǎn)處的水平面并考慮其最近的相鄰頂點(diǎn),確定窄鏈路為所述部分與連接到錨定點(diǎn)的另一部分之間的最小支點(diǎn)區(qū)域。

方法3000和/或方法4000從更新的三維多邊形網(wǎng)格(例如從對(duì)應(yīng)的連接性圖線)去除相關(guān)的渲染面,也可在集中處理單元處獨(dú)立于分散處理單元且按非實(shí)時(shí)優(yōu)先處理方式進(jìn)行,例如使用相同或更復(fù)雜的進(jìn)程。相關(guān)數(shù)據(jù)可然后存儲(chǔ)在存儲(chǔ)模塊1400上,使得分散處理單元能夠加載相關(guān)數(shù)據(jù)(例如當(dāng)更新的三維多邊形網(wǎng)格進(jìn)入或再次進(jìn)入其相應(yīng)視場(chǎng)時(shí))

圖5例示出根據(jù)第三組實(shí)施例的用于在計(jì)算機(jī)模擬中更新?lián)p壞增強(qiáng)圖像的示例性方法5000。計(jì)算機(jī)模擬包括計(jì)算機(jī)生成環(huán)境。計(jì)算機(jī)模擬與能夠供其至少第一分散模擬站、第二分散模擬站(例如在用戶與模擬相互作用之處)和集中處理單元(例如模擬引擎)訪問的存儲(chǔ)模塊1400相關(guān)聯(lián)。方法5000包括:在第一分散模擬站,在計(jì)算機(jī)模擬過程中,確定5010計(jì)算機(jī)生成環(huán)境的三維(3d)多邊形網(wǎng)格上的虛擬沖擊的坐標(biāo),和在運(yùn)行時(shí)通過虛擬沖擊計(jì)算5020至少一個(gè)新形成的三維多邊形網(wǎng)格,而不更新存儲(chǔ)模塊1400。然后,至少一個(gè)新形成的三維多邊形網(wǎng)格的至少一個(gè)損壞增強(qiáng)圖像被渲染5030,用于從第一分散模擬站的視場(chǎng)顯示。方法5000還包括:在集中處理單元,從第一分散模擬站接收5040虛擬沖擊的坐標(biāo);和在第二分散模擬站,接收虛擬沖擊的坐標(biāo)。集中處理單元然后通過確定的坐標(biāo)而獨(dú)立地且按照非實(shí)時(shí)優(yōu)先處理方式計(jì)算5050新形成的三維多邊形網(wǎng)格,并通過所述至少一個(gè)新形成的三維多邊形網(wǎng)格而持續(xù)地(persistently)更新與所述模擬相關(guān)聯(lián)的存儲(chǔ)模塊1400。

第一分散模擬站可與計(jì)算機(jī)生成環(huán)境的第一模擬運(yùn)載工具相關(guān)聯(lián)。第一分散模擬站的第一視場(chǎng)可于是通過在第一模擬運(yùn)載工具內(nèi)的用戶的位置限定。類似地,第二分散模擬站可與計(jì)算機(jī)生成環(huán)境的第二模擬運(yùn)載工具相關(guān)聯(lián)。第二分散模擬站的第二視場(chǎng)可于是通過在第二模擬運(yùn)載工具內(nèi)的用戶的位置限定。

當(dāng)在第二分散模擬站接收到虛擬沖擊坐標(biāo)時(shí),第二分散模擬站可通過接收的坐標(biāo)而計(jì)算所述至少一個(gè)新形成的三維多邊形網(wǎng)格,其中所述計(jì)算在運(yùn)行時(shí)并行于且獨(dú)立于第一分散模擬站進(jìn)行。

當(dāng)所述至少一個(gè)新形成的三維多邊形網(wǎng)格進(jìn)入第二分散模擬站的第二視場(chǎng)時(shí),計(jì)算機(jī)模擬的第二分散模擬站可以可替代地加載來(lái)自存儲(chǔ)模塊1400的所述至少一個(gè)新形成的三維多邊形網(wǎng)格。

在集中處理單元計(jì)算5050所述至少一個(gè)新形成的三維多邊形網(wǎng)格,可另外使用與第一分散模擬站的計(jì)算5020相比更復(fù)雜的數(shù)學(xué)操作并行地進(jìn)行。當(dāng)所述至少一個(gè)新形成的三維多邊形網(wǎng)格再次進(jìn)入第一視場(chǎng)時(shí),第一分散模擬站也可加載(或者再次加載)來(lái)自存儲(chǔ)模塊1400的所述至少一個(gè)新形成的三維多邊形網(wǎng)格。

方法5000可進(jìn)一步涉及:更新5060,其通過以下步驟進(jìn)行:將至少一個(gè)新文件存儲(chǔ)在存儲(chǔ)模塊1400的文件系統(tǒng)中,以對(duì)應(yīng)于所述至少一個(gè)新形成的三維多邊形網(wǎng)格;以及將至少一個(gè)事件存儲(chǔ)在存儲(chǔ)模塊1400的數(shù)據(jù)庫(kù)中,以對(duì)應(yīng)于所述計(jì)算所述至少一個(gè)新形成的三維多邊形網(wǎng)格的完成。

集中處理單元可包括存儲(chǔ)模塊1400以實(shí)現(xiàn)文件系統(tǒng),在集中處理單元處的計(jì)算5050可進(jìn)一步包括:定位所述文件系統(tǒng)中對(duì)應(yīng)于所述三維多邊形網(wǎng)格的內(nèi)容文件的最近版本;驗(yàn)證是否存在與所述內(nèi)容文件相關(guān)聯(lián)的至少一個(gè)事務(wù)標(biāo)記(transactionmarker)文件,所述事務(wù)標(biāo)記文件指示出所述內(nèi)容文件當(dāng)前是否經(jīng)受(besubjectto)進(jìn)行中的(ongoing)事務(wù);當(dāng)所述內(nèi)容文件當(dāng)前未經(jīng)受進(jìn)行中的事務(wù)時(shí),所述計(jì)算5050可以通過以下方式進(jìn)行:將所述內(nèi)容文件復(fù)制到所述文件系統(tǒng)上的一新的內(nèi)容文件中;通過新形成的三維多邊形網(wǎng)格更新所述新的內(nèi)容文件;更新所述事務(wù)標(biāo)記文件;所述新的內(nèi)容文件的名稱與所述最近版本相比反映出較新版本。當(dāng)所述內(nèi)容文件當(dāng)前經(jīng)受進(jìn)行中的事務(wù)時(shí),方法5000可進(jìn)一步包括:等待,直到所述至少一個(gè)事務(wù)標(biāo)記文件指示出進(jìn)行中的事務(wù)完成;然后創(chuàng)建新的開始事務(wù)標(biāo)記文件;通過所述新形成的三維多邊形網(wǎng)格更新所述新的內(nèi)容文件;所述新的開始事務(wù)標(biāo)記文件的名稱與所述進(jìn)行中的事務(wù)之后的所述內(nèi)容文件的名稱相比可反映出較新版本;而所述新的內(nèi)容文件的名稱可反映出與所述開始事務(wù)文件相同的版本;方法5000然后接著創(chuàng)建新的結(jié)束事務(wù)標(biāo)記文件,所述結(jié)束事務(wù)標(biāo)記文件的名稱反映出與所述開始事務(wù)標(biāo)記文件相同的版本。

集中處理單元包括存儲(chǔ)模塊1400以實(shí)現(xiàn)文件系統(tǒng),所述方法進(jìn)一步包括:當(dāng)從第一分散模擬站接收到5040所述虛擬沖擊的所述坐標(biāo)之后而且當(dāng)從所述集中處理單元更新5060之前,在所述集中處理單元從第二分散模擬站接收所述三維多邊形網(wǎng)格上的第二虛擬沖擊的坐標(biāo);方法5000可然后進(jìn)一步包括:定位所述文件系統(tǒng)中對(duì)應(yīng)于所述三維多邊形網(wǎng)格的內(nèi)容文件的最近版本;創(chuàng)建第一開始事務(wù)標(biāo)記文件,所述第一開始事務(wù)標(biāo)記文件的名稱反映出與所述最近版本相比的第一新版本;以及創(chuàng)建第一新內(nèi)容文件,其具有通過虛擬沖擊計(jì)算出的新形成的三維多邊形網(wǎng)格,所述第一新內(nèi)容文件的名稱反映出所述第一新版本;然后創(chuàng)建第一結(jié)束事務(wù)標(biāo)記文件,所述第一結(jié)束事務(wù)標(biāo)記文件的名稱反映出與所述第一開始事務(wù)標(biāo)記文件相同的版本;在此示例中,方法5000然后接著:創(chuàng)建第二開始事務(wù)標(biāo)記文件,所述第二開始事務(wù)標(biāo)記文件的名稱反映出與所述第一新版本相比的第二新版本;創(chuàng)建第二新內(nèi)容文件,其具有通過所述第二虛擬沖擊計(jì)算的新形成的三維多邊形網(wǎng)格,所述第二新內(nèi)容文件的名稱反映出所述第二新版本;然后創(chuàng)建第二結(jié)束事務(wù)標(biāo)記文件,所述第二結(jié)束事務(wù)標(biāo)記文件的名稱反映出與所述第二開始事務(wù)標(biāo)記文件相同的版本;然后,在第二結(jié)束事務(wù)標(biāo)記文件創(chuàng)建之后,集中處理單元將新形成的三維多邊形網(wǎng)格傳播5060到至少第一分散模擬站和第二分散模擬站。

示例性方法2000在一個(gè)實(shí)施例中可通過圖6的示例被例示。圖6a至6e顯示出根據(jù)本發(fā)明第一組實(shí)施例的示例性渲染方法的視覺表示。在圖6a中,示例性的三維多邊形網(wǎng)格6000使用渲染面a至t圖示,面u和v隱約地(implicitly)顯現(xiàn)而相應(yīng)地面對(duì)m和n。為了清楚起見,所示多邊形網(wǎng)格6000未顯示b/c和s/q之后的面。在圖6的示例中,渲染面是三角形的。采用連接性圖線6100或者連接性樹的形式的邏輯表示可通過示例性多邊形網(wǎng)格6000構(gòu)建,如圖6b中所示。當(dāng)然,本領(lǐng)域技術(shù)人員應(yīng)認(rèn)識(shí)到,典型的模擬將會(huì)涉及多個(gè)三維多邊形網(wǎng)格,多邊形網(wǎng)格6000被選擇以例示出本發(fā)明的教示。

連接性圖線6100可在運(yùn)行時(shí)計(jì)算,而模擬仍然進(jìn)行(例如當(dāng)新多邊形網(wǎng)格在模擬過程中進(jìn)入視場(chǎng)中時(shí)),不過計(jì)算可有利地在預(yù)處理階段與可能受到本發(fā)明影響的任何多邊形網(wǎng)格的其它連接性圖線的計(jì)算一起進(jìn)行。預(yù)處理階段也可用于生成三維多邊形網(wǎng)格的中空幾何形狀以及探測(cè)漂浮部分。連接性圖線可存儲(chǔ)在存儲(chǔ)模塊1400中,存儲(chǔ)模塊1400可為本地的(例如與渲染圖像的處理器模塊1230搭配的1400a)或者遠(yuǎn)程的1400b。

在連接性圖線的計(jì)算過程中,多邊形網(wǎng)格6000可被分析以確定是否其形成完全封閉的多邊形網(wǎng)格(也被稱為水密性網(wǎng)格)。在圖6的示例中,沒有底板(例如連接到d、f、g、v、i、n、o的底區(qū)部)。雖然典型地使用無(wú)底板的多邊形網(wǎng)格以避免對(duì)用于例示給定三維多邊形網(wǎng)格所需的多個(gè)不可見的渲染面進(jìn)行渲染(例如節(jié)省三角形),不過所述修剪2030和計(jì)算2050的用意是對(duì)于水密性網(wǎng)格進(jìn)行??稍黾右恍缀涡螤钜苑忾]多邊形網(wǎng)格6000(例如增加渲染面(其不意味著是可見的)到現(xiàn)有多邊形網(wǎng)格)。增加渲染面(如果需要)將在修剪2030和計(jì)算2050之前進(jìn)行。雖然所述增加可在運(yùn)行時(shí)進(jìn)行,不過所述增加可能花費(fèi)太多處理時(shí)間而不適合于對(duì)于至少似然/合理表現(xiàn)的損壞保持預(yù)期模擬視覺質(zhì)量所允許的最大時(shí)間(或處理循環(huán)數(shù))。因此,可能有利的是,當(dāng)多邊形網(wǎng)格6000被加載或者在加載多邊形網(wǎng)格6000之前處于存儲(chǔ)多邊形網(wǎng)格6000的數(shù)據(jù)庫(kù)中(例如在一種模擬模式中)時(shí)增加渲染面。

通過增加封閉幾何形狀,模擬中的大多數(shù)多邊形網(wǎng)格(或三維形狀)變?yōu)槌仕苄?。不過,可能存在例外情況,其中可進(jìn)行各種進(jìn)程以使其呈水密性。更特別地,一些網(wǎng)格具有附聯(lián)(snap)到其上的二維部分,例如陽(yáng)臺(tái)斜坡(balconyramp)、圍欄、植物枝葉,等等。這些部分可被隔離并且通過虛擬沖擊修剪。由于它們表現(xiàn)二維內(nèi)容,因而不需要生成任何中空幾何形狀連接其修剪表面。

圖6c顯示出虛擬沖擊6010,其在由渲染面g和h限定的面上具有坐標(biāo),其具有有效半徑r1(2020)。虛擬損壞6010在本示例中是數(shù)學(xué)定義減影形狀,其被限定為具有有效半徑r1的球。連接性圖線6100可用于識(shí)別受到?jīng)_擊6010影響的渲染面(在圖6的示例中為三角形)。在圖6的示例中,三角形e、f、g、h、k、l、u、v受到?jīng)_擊6010影響。為了清楚起見,u和v將在下文的論述中進(jìn)一步論述,不過應(yīng)理解,它們也類似地受到影響。在第一時(shí)間,受到影響的三角形可從連接性樹中去除(例如,實(shí)際上去除,或者其表面可崩塌至無(wú)效或最小值)。在一些實(shí)施例中,被去除的渲染面可被保留(例如,原有的連接性圖線或其一部分單獨(dú)存儲(chǔ)在存儲(chǔ)器中)以能夠撤銷(undo)損壞6010。

受到影響的渲染面在此后針對(duì)由r1限定的球進(jìn)行修剪2030。在修剪2030之后,計(jì)算2050新的渲染面而從多邊形網(wǎng)格6000中限定兩個(gè)新的多邊形網(wǎng)格6020、6200,如圖6d中所示。為了例示目的,圖6e顯示出多邊形網(wǎng)格6200脫離于多邊形網(wǎng)格6020。所述新的渲染面可附加到連接性圖線。新的渲染面也可在連接性圖線中以不同方式標(biāo)記(例如時(shí)間戳和/或特別指示)(例如,能夠?qū)ζ涓焖俣ㄎ灰噪S后施加特別的損壞掩飾/紋理、撤銷所述進(jìn)程,等等)。

參見圖6的示例,修剪2030三角形和計(jì)算2050新的多邊形網(wǎng)格6020、6200,可通過創(chuàng)建各線性區(qū)段進(jìn)行,所述線性區(qū)段匹配于來(lái)自于由r1限定的球與多邊形網(wǎng)格6000的相交部的圓弧。線性區(qū)段可然后連接以形成新的三角形,并可進(jìn)行驗(yàn)證以定位封閉路徑(環(huán))。一旦新的三角形已按所述體積被修剪,則任何可能已生成的剩余三維孔通過以下方式封閉:通過由曲形切除部形成的所有封閉路徑修剪所述體積自身而形成新的三角形。識(shí)別封閉路徑可通過考慮由相鄰三角形共享的邊緣而進(jìn)行。從初始三角形修剪路徑開始,驗(yàn)證相鄰物的存在,如果存在則必須必要地為具有公共相交點(diǎn)的路徑。重復(fù)所述進(jìn)程,直到初始三角形到達(dá)或者存在喪失的相鄰物。這樣具有的示例性優(yōu)點(diǎn)是:允許通過未被設(shè)計(jì)為損壞的現(xiàn)存內(nèi)容執(zhí)行所述進(jìn)程。

這可能有助于分辨封閉路徑的延伸(winding)。這在所述沖擊越過前面和后面的多邊形網(wǎng)格(這在其影響物體的整個(gè)寬度或用于具有模型內(nèi)部的建筑物時(shí)發(fā)生)時(shí)是需要的。封閉路徑的延伸通過其相交的三角形相對(duì)于從沖擊內(nèi)部的固定點(diǎn)穿過路徑中心的線路的延伸而限定。順時(shí)針延伸路徑修剪所有其外的部分,而逆時(shí)針延伸路徑修剪所有其內(nèi)的部分。所述線性區(qū)段的取向可為重要的,取決于三角形延伸情況(其可在創(chuàng)建時(shí)被保留)。剩余的是沖擊內(nèi)部,其必須被限制以隱藏建筑物非模型內(nèi)部。

每個(gè)封閉路徑嵌(tessellate)有另外的頂點(diǎn),所述另外的頂點(diǎn)被加到通過封閉路徑界定的區(qū)域中以使曲線平滑。所有這種幾何形狀可對(duì)所有損壞而分組,這是因?yàn)槠浼y理內(nèi)容不取決于受沖擊的幾何形狀。獲得的三角形通過進(jìn)程紋理2050(其可進(jìn)一步獨(dú)立于沖擊類型)而繪制(mapwith)。為了嵌處理(tessellate)封閉路徑,一旦網(wǎng)格生成,則其附聯(lián)到被修剪的水密性網(wǎng)格以在需要時(shí)生成新的水密性網(wǎng)格(其可被進(jìn)一步損壞)。

示例性方法3000在一個(gè)實(shí)施例中可關(guān)于圖7的示例被例示。圖6b和圖7a至7e顯示出根據(jù)本發(fā)明第二組實(shí)施例的示例性方法3000的示例性視覺表示。在圖7a中,示例性的三維多邊形網(wǎng)格7000使用渲染面a至t圖示,面u和v隱約地(implicitly)顯現(xiàn)而相應(yīng)地面對(duì)m和n。為了清楚起見,所示多邊形網(wǎng)格7000未顯示b/c和s/q之后的面。在圖7的示例中,渲染面是三角形的。所示多邊形網(wǎng)格7000經(jīng)受(subjectto)直觀上下重力。當(dāng)然,不同的模擬(或單個(gè)模擬內(nèi)的模擬環(huán)境)可具有不同規(guī)則,包括可變的重力(例如在更相關(guān)于游戲的環(huán)境中)。在圖7的示例中,錨定點(diǎn)可被確定3010為與b/c之后的另一多邊形網(wǎng)格(未示出)的連接部,多邊形網(wǎng)格7000由此懸置。

圖6b的邏輯表示通過示例性多邊形網(wǎng)格7000采用連接性圖線6100或連接性樹的形式,也在初始應(yīng)用于示例性多邊形網(wǎng)格7000。連接性圖線可通過多個(gè)渲染面在運(yùn)行時(shí)和/或在加載時(shí)計(jì)算(3020)。如前所述,本領(lǐng)域技術(shù)人員應(yīng)認(rèn)識(shí)到,典型的模擬將會(huì)涉及多個(gè)三維多邊形網(wǎng)格,多邊形網(wǎng)格7000被選擇以例示出本發(fā)明的教示。

圖7b顯示出虛擬沖擊7010,其在渲染面a上具有坐標(biāo),其具有有效半徑r2(2020)。虛擬損壞7010在本示例中是數(shù)學(xué)定義減影形狀,其被限定為具有有效半徑r2的球。連接性圖線6100可用于識(shí)別受到?jīng)_擊7010影響的渲染面(在圖7的示例中為三角形)。在圖7c中,僅圖示出直接受沖擊7010影響的三角形(即,a,b,c,d,e,f,h,j,k,l和t)。

新的渲染面通過沖擊7010計(jì)算出,并限定多邊形網(wǎng)格7000中的三個(gè)新的多邊形網(wǎng)格7020、7200、7300,如圖7d中所示。為了例示目的,圖7d顯示出多邊形網(wǎng)格7200、7300脫離于多邊形網(wǎng)格7020。所述新的渲染面可附加到連接性圖線而形成更新的連接性圖線(未示出)。新的渲染面也可以在連接性圖線中以不同方式標(biāo)記(例如時(shí)間戳和/或特別指示)(例如,能夠?qū)ζ涓焖俣ㄎ灰噪S后施加特別的損壞掩飾/紋理、撤銷所述進(jìn)程,等等)。在圖7的示例中,多邊形網(wǎng)格7000以類似于圖6的示例的方式被去除。

在圖7的示例中,遍歷(traversal)更新的連接性圖線將允許確定來(lái)自多邊形網(wǎng)格7300的三角形不具有到達(dá)先前限定錨定點(diǎn)x的連接性路徑。來(lái)自多邊形網(wǎng)格7300的渲染面在此同時(shí)或隨后從連接性圖線中去除至多邊形網(wǎng)格7200。從用戶視角來(lái)看,結(jié)果形成的多邊形網(wǎng)格7200應(yīng)以似然/合理方式顯現(xiàn)。如前所述,可觸發(fā)特別效果以掩蓋多邊形網(wǎng)格7200和/或7300的去除。

處理器模塊1230可表現(xiàn)為單處理器,其具有一個(gè)或多個(gè)處理器芯或者處理器陣列(每個(gè)處理器陣列包括一個(gè)或多個(gè)處理器芯)。存儲(chǔ)器模塊1220可包括各種類型的存儲(chǔ)器(不同標(biāo)準(zhǔn)化或類型的隨機(jī)訪問存儲(chǔ)器(ram)模塊、存儲(chǔ)卡、只讀存儲(chǔ)器(rom)模塊、可編程rom,等等)。網(wǎng)絡(luò)接口模塊1210表現(xiàn)出至少一個(gè)物理接口,可用于與其它網(wǎng)絡(luò)節(jié)點(diǎn)通訊。可使網(wǎng)絡(luò)接口模塊1210通過一個(gè)或多個(gè)邏輯接口對(duì)計(jì)算機(jī)系統(tǒng)1200的其它模塊可見。網(wǎng)絡(luò)接口模塊1210的物理網(wǎng)絡(luò)接口和/或邏輯網(wǎng)絡(luò)接口所使用的實(shí)際協(xié)議棧不影響本發(fā)明的教示??捎糜诒景l(fā)明應(yīng)用環(huán)境中的處理器模塊1230、存儲(chǔ)器模塊1220、網(wǎng)絡(luò)接口模塊1210和存儲(chǔ)裝置模塊1500的變例對(duì)于本領(lǐng)域技術(shù)人員而言應(yīng)是易于顯見的。同樣地,即使在本發(fā)明示例的描述的全文中沒有明確提到存儲(chǔ)器模塊1220和/或處理器模塊1230,本領(lǐng)域技術(shù)人員應(yīng)易于認(rèn)識(shí)到:這樣的模塊與計(jì)算機(jī)系統(tǒng)1200的其它模塊相結(jié)合使用以執(zhí)行例程以及與本發(fā)明相關(guān)的創(chuàng)新步驟。

方法通常被認(rèn)為是引起所希望結(jié)果的自恰的一系列步驟。這些步驟需要對(duì)物理量的物理操控。通常(即使并非必要地),這些量采用電或磁/電磁信號(hào)的形式,能夠被存儲(chǔ)、傳送、組合、比較、和以其它方式操控。有時(shí)候便利的是(主要出于通用的原因),將這些信號(hào)稱為比特、值、參數(shù)、物品、元素/元件、物體、符號(hào)、特征、項(xiàng)、數(shù)字,或類似物。不過應(yīng)注意,所有這些項(xiàng)和類似項(xiàng)將與適合的物理量相關(guān)聯(lián),且僅為應(yīng)用于這些量的便利標(biāo)簽。已提出對(duì)本發(fā)明的描述,目的在于例示,而用意不在于窮舉或限制所公開的實(shí)施例。多種修改和變化對(duì)于本領(lǐng)域普通技術(shù)人員而言將是顯見的。各實(shí)施例被選擇以闡釋本發(fā)明的原理及其實(shí)際應(yīng)用,并能夠使本領(lǐng)域普通技術(shù)人員理解本發(fā)明,以實(shí)施具有不同修改的不同實(shí)施例而可適合于其它設(shè)想應(yīng)用。

當(dāng)前第1頁(yè)1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1