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

渲染三維多邊形網(wǎng)格的似然圖像的制作方法

文檔序號:11635700閱讀:300來源:國知局
渲染三維多邊形網(wǎng)格的似然圖像的制造方法與工藝

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



背景技術(shù):

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

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



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

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

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

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

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

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

所述渲染面可為三角形。

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

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

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

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

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

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

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

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

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

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

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

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

渲染面可為三角形。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

所述第二分散模擬站可進一步:當(dāng)所述至少一個新形成的三維多邊形網(wǎng)格進入所述第二分散模擬站的所述第二視場時加載來自所述存儲模塊的所述至少一個新形成的三維多邊形網(wǎng)格。

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

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

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

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

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

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

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

附圖說明

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

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

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

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

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

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

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

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

具體實施方式

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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