新四季網

虛擬實境下的海量模型數據動態調度與實時異步加載方法

2023-05-03 02:27:36 1

虛擬實境下的海量模型數據動態調度與實時異步加載方法
【專利摘要】本發明公開一種虛擬實境下的海量模型數據動態調度與實時異步加載方法,包括如下步驟:(一)3D模型場景數據的預處理;(二)對模型場景整體的切割分塊;(三)多線程並行分布加載;(四)視錐體裁剪。本方法基於視錐體和地形區域求交點的視錐體裁剪算法,實現了動態調度中基於地形區域的實時裁剪,採用模型數據分塊調度和渲染管線的多線程處理機制,使不同介質之間的動態調度與繪製管線和數據處理調度管線能異步加載,從而實現了在有限內存,處理器等硬體環境下對海量場景模型數據加載和表現效率的動態平衡。
【專利說明】虛擬實境下的海量模型數據動態調度與實時異步加載方法
【技術領域】
[0001]本發明屬於地質勘探領域,具體是一種虛擬實境下的海量模型數據動態調度與實時異步加載方法。
【背景技術】
[0002]傳統的虛擬實境系統中,由於系統架構,模型結構,網絡帶寬,計算機硬體CPU和GTO運算能力,內存,顯存大小等限制,三維場景時採用靜態方式預先加載到系統內存中,無法實時的對模型進行動態的組織,調度等複雜操作,而海量的模型數據更不可能加載進入系統,部分實現動態調度的系統也會因為海量的場景模型數據和有限的網絡帶寬或者GPU運行能力造成嚴重的數據讀寫延遲和數據堵塞,從而降低了三維虛擬場景模型的載入流暢性和操作的連貫性,大大降低了用戶的使用和操作體驗。

【發明內容】

[0003]本發明的目的是為了克服現有技術的不足,提供一種虛擬實境下的海量模型數據動態調度與實時異步加載方法,該方法是基於視錐體和地形區域求交點的視錐體裁剪算法,實現了動態調度中基於地形區域的實時裁剪,採用模型數據分塊調度和渲染管線的多線程處理機制,使不同介質之間的動態調度與繪製管線和數據處理調度管線能異步加載,從而實現了在有限內存,處理器等硬體環境下對海量場景模型數據加載和表現效率的動態平衡。
[0004]為了實現上述目的,本發明是通過以下技術方案實現的:
一種虛擬實境下的海量模型數據動態調度與實時異步加載方法,包括如下步驟:
(一)3D模型場景數據的預處理;
(二)對模型場景整體的切割分塊;
(三)多線程並行分布加載;
(四)視錐體裁剪。
[0005]作為進一步的說明,以上所述預處理,其步驟為:
1)優化VR場景模型的幾何面數
VR場景模型的優化是要對每個獨立的模型面數進行精簡,還需要對模型的個數進行精
簡;
2)優化VR場景獨立模型對象的數量
將相同材質的物共用好材質;調整好各自的貼圖坐標;然後再將這些相同材質的物體進行合併以減少模型個數;
3)優化VR場景模型的貼圖量和貼圖細節;
將單獨的模型對象紋理全部烘焙在一張紋理上,重新定位紋理坐標,貼圖格式轉換為dds格式,能夠直接通過顯卡計算,加快載入速度;
作為進一步的說明,以上所述對模型場景整體的切割分塊, 1)對海量模型數據進行分塊;
海量模型數據對應較大空間範圍廣度的模型場景內容,根據VR系統的漫遊器操作設定對三維空間視錐體,視錐體的分析,計算出平面內可見場景空間的範圍值,依照此範圍值確定對應分塊空間的極限值,然後將場景空間的笛卡爾坐標系的高位坐標截取作為塊號,低位坐標極限值為視錐體可見範圍極限值;
2)對分塊排序並建立索引表;
依照高位坐標值生成的塊號的空間關係,將整個場景分塊生成的分塊號序列進行排序,並保存在外部文件中,每條塊號記錄文件包括:塊號ID,塊號名,塊號坐標,塊號備註;
3)將分塊數據打包;
將原始場景的模型數據分塊切割後,對每個分塊後的模型數據塊添加塊號ID,此塊號ID對應分塊索引表中塊號記錄文件中的塊號ID,通過此ID進行關聯,實現遍歷索引表找到對應ID的分塊數據包功能,然後將分塊數據包壓縮打包成二進位流文件。
[0006]作為進一步的說明,以上所述多線程並行分布加載,其步驟為:
其步驟為:1)使用預加載線程載入場景分塊索引表;
在VR系統初始化階段,啟動線程載入場景分塊索引表,當海量模型數據時,索引表體積偏大,使用線程加載能保證在VR系統初始化中其他操作不受影響;
2)使用異步加載線程動態的加載場景分塊;
在場景漫遊器初始化完成後,操作漫遊器視錐體進行場景漫遊時,開始計算當前視錐體與場景的交點區域,確定分塊後,啟動異步加載線程動態加載當前分塊號對應的場景分塊模型數據包;
3)使用渲染線程渲染模型場景紋理和模型頂點結構;
加載完模型數據進內存後,啟動渲染線程渲染場景紋理和模型頂點幾何數據;
作為進一步的說明,以上所述視錐體裁剪,其步驟為:1)計算當前視錐體與場景相交區
域;
將地形檢測的塊狀物體放到場景裡面進行設置,每一個檢測塊都對應著一塊分塊號,位置與其對應的地形一致。當漫遊器視錐體的自身Z軸方向與某個檢測塊發生碰撞之後,及獲得視錐體所需顯示的當前區域模型分塊號。
[0007]2)遍歷模型分塊索引表獲得當前相交區域塊號;
獲得當前視錐體範圍對應塊號後,遍歷模型分塊索引表,通過分塊ID查找到對應場景模型分塊包數據,然後從本地硬碟或網絡異步加載分塊包中數據到內存中,將模型分塊索引表中獲得的快號對象的高位坐標值同場景模型分塊包中數據的低位坐標值進行拼接,得到最終的完整坐標,然後顯示在場景中;
3)動態調度塊號對應的模型數據包,加載進當前場景;
將該區塊的分塊數據包載入到內存中,異步克隆其主資源中各個子物體到其相應的位置。當整個場景中加載的區塊數目超出一個事先設定的值時或系統的內存監控消耗達到臨界值時,就會調用動態調度優化處理算法,計算距離漫遊器視錐體中心區域最遠的地塊區域,獲取地塊的分塊ID和對應的內存中分塊數據進行釋放,從而降低系統內存負載。
[0008]與現有技術相比,本發明的有益效果是:通過使用建模結構頂點和紋理數據的優化,歸一化處理;對模型場景整體的切割分塊技術;多線程並行分布加載技術;視錐體裁剪技術等多種技術實現了海量數據動態調度和實時異步加載模型數據技術,解決了以往VR系統中模型場景限制,無法在同個場景中展現大規模模型數據的瓶頸問題。拓廣了 VR系統表現整體場景規模的能力。
【具體實施方式】
[0009]下面結合實施例對本發明作進一步詳細的描述,但本發明的實施方式並不局限於實施例表示的範圍。
[0010]實施例:
1.3D模型場景數據的預處理,優化過程 I)優化VR場景模型的幾何面數
模型的優化是要對每個獨立的模型面數進行精簡,還需要對模型的個數進行精簡,這兩個數據都是影響最終運行速度的重要參數,這些優化操作是必須的,也是提升載入速度的重要方面。
[0011]2)優化VR場景獨立模型對象的數量
VR場景的模型個數過多也會直接影響到VR場景的導出及VR場景的顯示速度。如果當前的VR場景裡的模型個數過多,計算機可能會因為計算不過來,而造成部分物體無法加載進去,最終得到的VR場景模型是不完整的,零碎,有模型丟失等現象;如果計算機勉強將VR場景裡的所有模型加載進去了,其運行速度也會很慢。為了避免以上問題的出現,解決方法是:將相同材質的物共用好材質;調整好各自的貼圖坐標;然後再將這些相同材質的物體進行合併以減少模型個數。
[0012]3)優化VR場景模型的貼圖量和貼圖細節;
當3D模型用於視頻演示或者結構渲染作用,貼圖的大小和數量是沒有控制和優化的,在VR系統中特別是海量數據載入中,必須對貼圖量和貼圖細節質量進行控制,將單獨的模型對象紋理全部烘焙在一張紋理上,重新定位紋理坐標,貼圖格式轉換為dds格式,能夠直接通過顯卡計算,加快載入速度。
[0013]2.對模型場景整體的切割分塊過程 I)對海量模型數據進行分塊;
海量模型數據一般會對應較大空間範圍廣度的模型場景內容,根據VR系統的漫遊器操作設定對三維空間視錐體,視錐體的分析,計算出平面內可見場景空間的範圍值,依照此範圍值確定對應分塊空間的極限值,然後將場景空間的笛卡爾坐標系的高位坐標截取作為塊號,低位坐標極限值為視錐體可見範圍極限值。
[0014]2)對分塊排序並建立索引表;
依照高位坐標值生成的塊號的空間關係,將整個場景分塊生成的分塊號序列進行排序,並保存在外部文件中,每條塊號記錄文件包括:塊號ID,塊號名,塊號坐標,塊號備註。
[0015]3)將分塊數據打包;
將原始場景的模型數據分塊切割後,對每個分塊後的模型數據塊添加塊號ID,此塊號ID對應分塊索引表中塊號記錄文件中的塊號ID,通過此ID進行關聯,實現遍歷索引表找到對應ID的分塊數據包功能,然後將分塊數據包壓縮打包成二進位流文件,有利於網絡環境傳輸,並加快載入速度。[0016]3.多線程並行分布加載技術;
O使用預加載線程載入場景分塊索引表;
在VR系統初始化階段,啟動線程載入場景分塊索引表,當海量模型數據時,索引表體積偏大,使用線程加載能保證在VR系統初始化中其他操作不受影響,保證了系統的啟動速度。
[0017]2)使用異步加載線程動態的加載場景分塊;
在場景漫遊器初始化完成後,用戶操作漫遊器視錐體進行場景漫遊時,開始計算當前視錐體與場景的交點區域,確定分塊後,啟動異步加載線程動態加載當前分塊號對應的場景分塊模型數據包,實現了漫遊器不受動態加載模型IO操作的影響,漫遊器始終流暢運行的效果。
[0018]3)使用渲染線程渲染模型場景紋理和模型頂點結構;
加載完模型數據進內存後,啟動渲染線程渲染場景紋理和模型頂點幾何數據,實現了在模型渲染階段,系統其它操作和漫遊器漫遊不受渲染速度的影響和限制,確保了良好地用戶使用體驗。
[0019]4.視錐體裁剪技術。
[0020]I)計算當前視錐體與場景相交區域;
將地形檢測的塊狀物體放到場景裡面進行設置,每一個檢測塊都對應著一塊分塊號,位置與其對應的地形一致。當我們的漫遊器視錐體的自身Z軸方向與某個檢測塊發生碰撞之後,及獲得視錐體所需顯示的當前區域模型分塊號。
[0021]2)遍歷模型分塊索引表獲得當前相交區域塊號;
獲得當前視錐體範圍對應塊號後,遍歷模型分塊索引表,通過分塊ID查找到對應場景模型分塊包數據,然後從本地硬碟或網絡異步加載分塊包中數據到內存中,將模型分塊索引表中獲得的快號對象的高位坐標值同場景模型分塊包中數據的低位坐標值進行拼接,得到最終的完整坐標,然後顯示在場景中。
[0022]3)動態調度塊號對應的模型數據包,加載進當前場景;
便將該區塊的分塊數據包載入到內存中,異步克隆其主資源中各個子物體到其相應的位置。當整個場景中加載的區塊數目超出一個事先設定的值時或系統的內存監控消耗達到臨界值時,就會調用動態調度優化處理算法,計算距離漫遊器視錐體中心區域最遠的地塊區域,獲取地塊的分塊ID和對應的內存中分塊數據進行釋放,從而降低系統內存負載。
【權利要求】
1.一種虛擬實境下的海量模型數據動態調度與實時異步加載方法,其特徵在於,包括如下步驟: (一)3D模型場景數據的預處理; (二)對模型場景整體的切割分塊; (三)多線程並行分布加載; (四)視錐體裁剪。
2.根據權利要求1所述的虛擬實境下的海量模型數據動態調度與實時異步加載方法,其特徵在於:所述預處理,其步驟為: 1)優化VR場景模型的幾何面數 VR場景模型的優化是要對每個獨立的模型面數進行精簡,還需要對模型的個數進行精簡; 2)優化VR場景獨立模型對象的數量 將相同材質的物共用好材質;調整好各自的貼圖坐標;然後再將這些相同材質的物體進行合併以減少模型個數; 3)優化VR場景模型的貼圖量和貼圖細節; 將單獨的模型對象紋理全部烘焙在一張紋理上,重新定位紋理坐標,貼圖格式轉換為dds格式,能夠直接通過顯卡計算,加快載入速度。
3.根據權利要求1所述的虛擬實境下的海量模型數據動態調度與實時異步加載方法,其特徵在於:所述對模型場景整體的切割分塊, 1)對海量模型數據進行分塊; 海量模型數據對應較大空間範圍廣度的模型場景內容,根據VR系統的漫遊器操作設定對三維空間視錐體,視錐體的分析,計算出平面內可見場景空間的範圍值,依照此範圍值確定對應分塊空間的極限值,然後將場景空間的笛卡爾坐標系的高位坐標截取作為塊號,低位坐標極限值為視錐體可見範圍極限值; 2)對分塊排序並建立索引表; 依照高位坐標值生成的塊號的空間關係,將整個場景分塊生成的分塊號序列進行排序,並保存在外部文件中,每條塊號記錄文件包括:塊號ID,塊號名,塊號坐標,塊號備註; 3)將分塊數據打包; 將原始場景的模型數據分塊切割後,對每個分塊後的模型數據塊添加塊號ID,此塊號ID對應分塊索引表中塊號記錄文件中的塊號ID,通過此ID進行關聯,實現遍歷索引表找到對應ID的分塊數據包功能,然後將分塊數據包壓縮打包成二進位流文件。
4.根據權利要求1所述的虛擬實境下的海量模型數據動態調度與實時異步加載方法,其特徵在於:所述多線程並行分布加載,其步驟為: 其步驟為:1)使用預加載線程載入場景分塊索引表; 在VR系統初始化階段,啟動線程載入場景分塊索引表,當海量模型數據時,索引表體積偏大,使用線程加載能保證在VR系統初始化中其他操作不受影響; 2)使用異步加載線程動態的加載場景分塊; 在場景漫遊器初始化完成後,操作漫遊器視錐體進行場景漫遊時,開始計算當前視錐體與場景的交點區域,確定分塊後,啟動異步加載線程動態加載當前分塊號對應的場景分塊模型數據包; 3)使用渲染線程渲染模型場景紋理和模型頂點結構; 加載完模型數據進內存後,啟動渲染線程渲染場景紋理和模型頂點幾何數據。
5.根據權利要求1所述的虛擬實境下的海量模型數據動態調度與實時異步加載方法,其特徵在於:所述視錐體裁剪,其步驟為:1)計算當前視錐體與場景相交區域; 將地形檢測的塊狀物體放到場景裡面進行設置,每一個檢測塊都對應著一塊分塊號,位置與其對應的地形一致;當漫遊器視錐體的自身Z軸方向與某個檢測塊發生碰撞之後,及獲得視錐體所需顯示的當前區域模型分塊號; 2)遍歷模型分塊索引表獲得當前相交區域塊號; 獲得當前視錐體範圍對應塊號後,遍歷模型分塊索引表,通過分塊ID查找到對應場景模型分塊包數據,然後從本地硬碟或網絡異步加載分塊包中數據到內存中,將模型分塊索引表中獲得的快號對象的高位坐標值同場景模型分塊包中數據的低位坐標值進行拼接,得到最終的完整坐標,然後顯示在場景中; 3)動態調度塊號對應的模型數據包,加載進當前場景; 將該區塊的分塊數據包載入到內存中,異步克隆其主資源中各個子物體到其相應的位置;當整個場景中加載的區塊數目超出一個事先設定的值時或系統的內存監控消耗達到臨界值時,就會調用動態調度優化處理算法,計算距離漫遊器視錐體中心區域最遠的地塊區域,獲取地塊的分塊ID和對應的內存中分塊數據進行釋放,從而降低系統內存負載。
【文檔編號】G06T17/00GK103914868SQ201310708102
【公開日】2014年7月9日 申請日期:2013年12月20日 優先權日:2013年12月20日
【發明者】陳金龍, 伍軼斌, 胡俊鑫, 覃祖茂, 謝燕武, 伍正中, 張利學, 李勇, 吳旻馨, 馬永麗 申請人:柳州騰龍煤電科技股份有限公司

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀