何龍 杜鵬
摘 要:伴隨著網絡三維地理信息系統的快速發展,基于網絡的各種三維可視化技術也是層出不窮。因此,該文介紹了一種不需要組件加載的網絡三維可視化技術——WebGL,對突破目前在網絡環境下傳輸、加載大規模數據,大范圍場景渲染技術的瓶頸具有重要意義。通過簡單介紹一種基于WebGL的虛擬三維地圖引擎,顯現出WebGL是一種可以通過硬件渲染實現網絡三維可視化的技術手段。
關鍵詞:WebGL 網絡三維 可視化
中圖分類號:TP391 文獻標識碼:A 文章編號:1672-3791(2015)10(c)-0023-02
隨著網絡技術和計算機技術的發展,基于Web的三維可視化技術也得到了快速的發展,并有著廣泛的應用。但傳統的用于實現三維數據的Web3D[1]技術包括,VRML、X3D、Java3D等技術,都需要安裝插件或者加載組件,而且具有操作性復雜、兼容性差等缺點。因此實現Web3D免插件環境將是網絡三維發展的一個方向。WebGL規范[2]的出現為web瀏覽器帶來無插件三維圖形加速,其兼容性強、渲染效果好,取得了眾多瀏覽器生產廠商支持。該技術的出現使得三維數據無需插件直接在網絡瀏覽器中的可視化成為現實。該文在簡要介紹三維可視化以及WebGL技術的相關知識基礎之上,分析怎樣在Web端實現三維的可視化。
1 三維可視化
三維可視化技術隨著計算機科學的發展,已經融入到各個學科中去,在醫學、地理學、測繪學、建筑學等學科中都有不俗的表現[3],并且在一定程度上,對這些學科的發展起到了不可估量的作用。例如在建筑領域,良好的三維效果能夠極大地提高效率,給予決策者更直觀的表現以幫助對其質量和成果的評估,減少不必要的浪費;在虛擬現實領域,三維可視化可以提供更加真實、更具視覺沖擊效果的場景,更可以完美的再現一些古代的場景,使觀者暢游其中仿若身臨其境一般;在醫學領域,對病人進行三維的可視化能極大地幫助醫生對病人實施更加精確的手術,提高手術的成功率,有效的促進了醫學的發展。因此,三維可視化的研究與發展將會帶給人們更大的驚喜。
2 WebGL技術
在地理學領域,三維可視化技術能提供更為直觀的可視化效果,但是傳統的網絡地理信息系統(WebGIS)是針對二維的柵格和矢量數據開發的,因此如何將三維可視化技術融入WebGIS是很有必要的。但對于三維的WebGIS來說,由于受到Web3D技術發展的限制,往往都需要加載組件或者預先安裝插件,而且具有可移植性差,顯示效果不好的缺點。WebGL作為新一代Web3D圖形標準在這樣的背景下孕育而生。
WebGL具有兩大優點:(1)WebGL完美地解決了現有的Web3D的兩個問題:它通過HTML腳本本身實現Web3D的制作,無需任何瀏覽器插件支持;(1)它對圖形渲染是利用本機的硬件,通過統一的、標準的、跨平臺的OpenGL接口實現的,所以WebGL可以運行于許多不同的硬件設備之上,例如桌面電腦、智能手機、平板電腦. 因為是被設計成直接工作在底層顯卡端的,所以WebGL比目前其他的典型的web技術都要更加復雜。這也正是它為什么能夠如此迅速的完成大量的計算,并實現復雜的實時3D渲染的原因。
3 基于WebGL三維可視化的實現
在三維的世界里,所有的東西都有橫,豎,深度。將這些東西重現,就是一個實時3D渲染。筆者是在一個二維的顯示器上來再現這個三維世界的,電腦和手機的屏幕,都是一個二維的顯示器。利用WebGL可以模擬三維空間,但是最終必須輸出顯示在一個二維的顯示器上。由深度決定的前后關系,根據遠近進行放大和縮小,這些都必須提前進行運算得出結果。
網絡三維可視化是基于B/S架構的模式構建的,當有大批量的3D模型數據或lidar數據瀏覽時,就會因網絡傳輸速度的影響而出現較長時間的等待,這是大家所不愿意看到的事情,但是對于地理學來講,海量的三維數據是研究地理學所不可缺少的部分。因此如何在Web端對海量的數據進行管理與調度是很重要的一個事情。該文以Cesium為例實現網絡三維可視化,Cesium是一個基于WebGL的虛擬三維地圖引擎。Cesium對三維可視化引入了一個新的概念3DTiles,旨在提高在Web端的對海量三維數據可視化的效率。
3DTiles是為海量的異構三維地理空間數據集所設計的一個開放的規范,該規范適用于各種常見的地理數據,例如:三維模型數據,點云數據以及二維的矢量數據。3DTiles已成功的在Cesium平臺實現,該規范可以應用于其他的三維引擎和轉換工具。3DTiles的主要目的是針對大規模的異構數據源提高其加載速度和渲染性能,它只對瀏覽器用戶所給定的可見的三維視圖窗口進行不同級別的切片顯示,由于它是基于WebGL設計開發出來的,因此可以更快的加載與處理三維數據,并且為了減少客戶端的處理,3DTiles可以對數據進行預處理和批動態處理。目前Cesium支持gltf格式,gltf是khronos組織用于互聯網或移動設備上展現3d內容,充分支持WebGL圖形加速標準。
4 結語
隨著當前各種軟件、硬件技術的不斷發展,該文針對了網絡三維可視化過程中需要安裝插件的問題,提出了一種無需插件的渲染方法。采用WebGL技術三維模型可以實時的在瀏覽器端被繪制,這將解決人們在處理復雜圖像或者處理三維圖像需要下載插件或者客戶端的繁瑣步驟。同時該文對一個基于WebGL的虛擬三維地圖引擎Cesium進行了分析、測試,其結果都表現出良好的渲染效果。由此說明使用WebGL可以實現瀏覽器端三維場景的無插件快速的繪制,WebGL作為一個新的網絡三維可視化前端展示的實現手段是完全可以勝任的。
參考文獻
[1] 王維敏.Web3D 技術探索及幾種Web3D 技術的比較選擇[D].武漢:武漢大學,2004.
[2] Khronos Group.WebGL specification[EB/OL].[2014-10-2].https://www.khronos.org/registry/webgl/specs/1.0/.
[3] 梁鵬帥,馮冬敬.三維可視化的研究現狀和前景[J].科技情報開發與經濟,2009(7):134-135,147.