孙新佳,田宏哲,罗凯
(北京华能新锐控制技术有限公司,北京 102209)
随着现代技术的发展,人们对交互式应用的要求也提升到一个新的层次。传统的工业组态应用软件大多提供二维的图形画面,通过添加位置移动、颜色变化等动画来传达设备的运行信息。但是这种图形只是单方面给用户呈现了系统设备的侧视图或者俯视图,并没有给用户反映整体的效果。随着技术的不断更新,有些软件可以展现三维模型,但是需要在客户端上安装插件才能实现,其中包括UNITY3D、TURNTOOL和QUEST3D等[1]。这样就带来了很大的局限性,其中就涉及到插件与系统环境、浏览器等的兼容性问题,影响系统的稳定性。
随着智能手机的大力发展,极大地推动了移动端和电脑端Web开发的兴起,越来越多的应用软件采用B/S架构,这样移动端和电脑端无需额外安装客户端软件,只要通过系统自带的浏览器就能够直接访问部署在服务器上的应用。Web3D技术也越来越多地引起大家的关注,其中WebGL(web graphics library)是一种3D绘图协议[2],这种绘图技术标准允许把JavaScript与OpenGL结合起来[3-4]。WebGL可以为HTML5 Canvas提供硬件3D加速渲染。WebGL标准是免费开放的,相对于私有的Adobe Flash Player、微软Silverlight,WebGL具有极大的优势:通过HTML脚本本身实现Web交互式三维动画的制作,无需任何浏览器插件的支持;利用底层的图形硬件加速功能进行图形渲染,实现统一的、标准的、跨平台的OpenGL接口[5]。目前已有很多不错的WebGL开源框架,例如GLCE、SceneJS、CubicVR、THREE.js等[6],其中THREE.js最受欢迎,它用简单直观的语法封装了WebGL常用的三维对象,代码中使用了很多调用图形引擎的高级技巧,极大地提高了性能[7-8]。……