陳衡
(四川旅游學院,四川成都,610100)
研究基于并行渲染的虛擬現(xiàn)實開發(fā)平臺設計與實現(xiàn)
陳衡
(四川旅游學院,四川成都,610100)
在設計三維VR場景時需要依賴可視化的開發(fā)平臺,設計開發(fā)平臺時應注重提高軟件運行速度,確保硬件接口與軟件接口相互匹配,維持虛擬環(huán)境共享的一致性,能夠及時更新網絡協(xié)議與升級軟件功能,保證VR系統(tǒng)具有兼容性的特點。
開發(fā)平臺;并行渲染;設計;實現(xiàn);虛擬現(xiàn)實
虛擬現(xiàn)實(VR)也稱人工環(huán)境、虛擬實境、靈境技術,利用VR技術虛構的人工環(huán)境能夠讓使用者產生逼真的觸覺、聽覺與視覺等感官體驗,如體驗虛擬場景中的物體溫度、位置、形狀、大小及重量等。VR技術的實質為運用模型構建、空間跟蹤、聲音跟蹤、視點感應、視覺跟蹤等技術實現(xiàn)虛擬交互,交互設備包括VR引擎、解釋器、傳感器等,傳感器可將原始數據轉化成交互信息,解釋器可根據交互信息生成行為數據。
并行渲染結構包括Sort-Last結構、Sort-Middle結構、Sort-first結構三大類。Sort-Last結構的應用領域包括Parallel-Mesa系統(tǒng)、Pixel-Flow系統(tǒng)等,Sort-Last結構在像素化過程中發(fā)生歸屬判斷,應用Sort-Last結構時需要傳輸大量像素,因此傳輸時占用的帶寬較大,這就會延緩虛擬VR圖像的合成速度,還容易對負載平衡產生影響。Sort-Middle結構的應用領域包括Chromium框架、PGL系統(tǒng)及Infinite Reality系統(tǒng)等。在Sort-Middle結構中,圖元的歸屬判斷過程發(fā)生在像素化與幾何變換之間,易于實現(xiàn)模塊化設計,傳輸量的增長倍數為處理器幾何級數,應用Sort-Middle結構時可能出現(xiàn)可擴展性不足等問題。Sort-first結構的特點包括通信量少、流水線互不干擾,能明確定義VR場景數據刪除函數、修改函數及增加函數的調用接口,可支持分辨率較高的VR顯示環(huán)境,屏幕上的圖元對象位置由幾何處理方式決定,Sort-first結構已經被應用在Display Wall、WireGL中。Sort-first結構中的圖元分配、圖元數據預變換及傳輸等操作可產生額外負載,應用Sort-first結構時需要采用負載平衡技術解決圖元差異與圖元分布不均勻問題,以免對開發(fā)平臺性能造成不良影響。上述三種渲染結構各具優(yōu)缺點,因此目前多數VR系統(tǒng)會混合使用兩種渲染結構,如AnyGL系統(tǒng)、Parallel-SG系統(tǒng)等。應用混合型渲染結構時需保證工作站中安裝有多個性能優(yōu)良的CPU,數據通信系統(tǒng)應具有較廣的適用性,盡量運用多核微機運行渲染系統(tǒng)。
2.1 開發(fā)平臺架構
本文分析的VR開發(fā)平臺采用了Sort-first渲染結構,PC節(jié)點包括控制節(jié)點與渲染節(jié)點??刂乒?jié)點可對圖元組歸屬情況進行有效判斷,并將圖元組編號發(fā)送到渲染節(jié)點,在發(fā)送編號時要求渲染節(jié)點能夠同步接收信息??刂乒?jié)點無法保留VR場景的圖形數據,僅保留包圍盒、VR場景結構數據,無需承擔渲染任務。渲染節(jié)點可利用多通道型投影系統(tǒng)渲染屏幕區(qū)域中對應的圖元組,在渲染圖元組時需消除投影系統(tǒng)之間的邊緣拼縫,處理拼縫時需調整幀緩存圖像亮度,運用漸變函數控制邊緣融合過程中的圖像亮度,促使拼縫融合,確保經過拼接處理的VR場景自然統(tǒng)一。VR系統(tǒng)架構模式為C/S,客戶端由金屬漆墻、投影儀、方向盤、顯示器、PC構成,服務端由渲染PC構成,渲染PC的顯卡為Geforce7900GS??蛻舳酥械腜C可采集操作數據及顯示控制信息,同時向服務端發(fā)送View Matris,傳輸協(xié)議為TCP,該傳輸協(xié)議能確保服務端、客戶端同步處理數據。服務端獲取渲染圖像的命令為OpenGL,渲染鏈接庫為OpenGL 32.dll,操作時利用glReadPixel函數、SwapBuffer函數獲取緩存區(qū)數據,隨后在Buffer中存入壓縮數據,由Buffer保存與發(fā)送數據,發(fā)送數據時采用實時性強的UDP發(fā)送線程。此外,VR系統(tǒng)中的繪制過程、裁剪過程相互獨立,可減輕CPU負擔,確保渲染節(jié)點CPU數據實現(xiàn)并行化管理,開發(fā)平臺工作流程如圖1所示。
圖1
2.2 并行算法與負載平衡實現(xiàn)
開發(fā)平臺中的渲染算法為光子映射并行算法,Rank0進程可事先將待渲染VR場景模型分發(fā)到計算節(jié)點,如計算環(huán)境為內存共享并行環(huán)境,則Rank0無需向計算節(jié)點分發(fā)場景模型。由于光子生成時間開銷較小,因此在渲染時可保證每個節(jié)點均能夠實現(xiàn)單獨計算。在發(fā)射光子時,每個光源采用的種子相同,這就可以確保光子映射相同。計算節(jié)點接收到種子后,可根據種子發(fā)射光子,光源發(fā)射的光子可隨物體材質的變化產生不同的吸收、發(fā)射與折射區(qū)域,并形成光子圖,如待渲染區(qū)域為空,可向區(qū)域的左上角移動渲染點。利用光子圖并行渲染VR場景時,需全面跟蹤視點與渲染點之間的射線,在VR場景與射線相交的位置選擇采樣點P,采樣點P的顏色取決于光子類型與光子能量。負載平衡的具體策略包括場景掃描、搜索密集區(qū)、平衡算法與屏幕算法策略。利用八叉樹加載場景,渲染時只需掃描八叉樹,找到葉節(jié)點,隨后將八分子葉節(jié)點組建成立方體,在屏幕上投影立方體中心,投影后對小方格中的對象進行歸并處理,屏幕中的小方格劃分。搜索密集區(qū)時先找出最小的方格,并擴張小方格,擴張后可生成密集矩形,同時確保屏幕邊界與矩形邊界互相重合。平衡算法可向各個平行節(jié)點均勻分配圖元,像素shader可融合Sort-First渲染結果,在各個子節(jié)點分散合成Client端的深度圖像,以免造成Client端出現(xiàn)網絡擁堵問題。
2.3 渲染性能
測試了三種圖像尺寸下VR開發(fā)平臺的渲染性能。圖像尺寸為720×576時,25fps圖像速率為597.4Mbps,網絡最大幀率為37518fps,網絡速率平均值為330Mbps,節(jié)點渲染時間為0.175幀/s,節(jié)點分配幀率為5.62fps。圖像尺寸為720×1280時,25fps圖像速率為934.7Mbps,網絡最大幀率為10632fps,網絡速率平均值為330Mbps,節(jié)點渲染時間為0.763幀/s,節(jié)點分配幀率為2.73fps。圖像尺寸為1080×1920時,25fps圖像速率為1587.2Mbps,網絡最大幀率為7429fps,網絡速率平均值為330Mbps,節(jié)點渲染時間為1.362幀/s,節(jié)點分配幀率為1.62fps。開發(fā)平臺可處理復雜化的VR場景數據,幀率、網絡速率均能夠達到協(xié)同VR裝配要求。
VR開發(fā)平臺的設計過程復雜,需要處理多種細節(jié)問題及不斷優(yōu)化VR軟件的開發(fā)設計環(huán)境。為確保開發(fā)平臺便于維護,應不斷更新并行渲染等核心技術,在綜合考慮VR系統(tǒng)整體開發(fā)結構與開發(fā)方法的基礎上合理組織虛擬對象,簡化圖形建模的旋轉及平移等操作,提高VR場景的編輯與制作效率,同時保證開發(fā)平臺具有可復用性、異構性、伸縮性及可擴展性的特點,能夠描述復雜化與多樣化的VR場景。
[1]徐繼偉,張文博,王燾,等.一種基于遺傳算法的虛擬機鏡像自適應備份策略[J].計算機學報,2015,39(2):351-363.
[2]趙忠良,吳軍強,李浩,等.高機動導彈氣動/運動/控制耦合的風洞虛擬飛行試驗技術[J].空氣動力學學報,2016,34(1):14-19.
Design and implementation of virtual reality development platform based on Parallel Rendering
Chen Heng
(Sichuan Tourism university,Chengdu Sichuan,610100)
in the design of 3D VR scene need to rely on visual development platform,design and development platform should focus on improving the speed of software operation,ensure that the hardware interface and software interface matching,maintains consistency with the shared virtual environment,can update the network protocol and upgrade the software function,ensure that the VR system has the advantages of compatibility.
development platform;parallel rendering;design;implementation;virtual reality
四川省教育廳自然科學一般項目“基于3DsMAX的270°渲染技術在虛擬仿真景區(qū)漫游中的研究與應用”。項目編號:16ZB0350。