何龙 杜鹏
摘 要:伴随着网络三维地理信息系统的快速发展,基于网络的各种三维可视化技术也是层出不穷。因此,该文介绍了一种不需要组件加载的网络三维可视化技术——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.