一、简介

WebGL是一种3D绘图标准,这种绘图技术标准允许把JavaScript和OpenGL ES 2.0结合在一起,通过增加OpenGL ES 2.0的一个JavaScript绑定,WebGL可以为HTML5 Canvas提供硬件3D加速渲染,这样Web开发人员就可以借助系统显卡来在浏览器里更流畅地展示3D场景和模型了,还能创建复杂的导航和数据视觉化。显然,WebGL技术标准免去了开发网页专用渲染插件的麻烦,可被用于创建具有复杂3D结构的网站页面,甚至可以用来设计3D网页游戏等等。

区别于Unity和flash的需要浏览器加载插件,WebGL打开浏览器直接使用,但是目前IE不支持,火狐和谷歌等浏览器支持。

 

二、框架

由于原生WebGl的复杂性,现已有许多优秀的开源框架可供使用:

Three.js 

Three.js 是一个开源的JavaScript 3D引擎,该项目的目标是创建一个低复杂、轻量级的3D库,用最简单、直观的方式封装WebGL中的常用方法。目前由一个强大的贡献团队维护。

PhiloGL 

PhiloGL 是由Sencha 实验室开发的一个新的WebGL开源框架,提供了强大的API,可帮助开发者轻松开发WebGL并整合到Web应用中,实现数据可视化,代码。创作和游戏开发。

Babylon.js

一个强大的3D游戏引擎,由Microsoft的员工David Cathue主导开发。和Three.js相比,three.js更倾向于动画,而Babylon.js则更适合游戏开发。

SceneJS

SceneJS是一个开源的JavaScript 3D引擎,特别适合需要高精度细节的模型需求,比如工程学和医学上常用的高精度模型。

x3dom

X3DOM是一个实验性的开源框架,它有一个原创的X3D元素,可以通过X3D插件、Flash或WebGL渲染。

CopperLicht

这是一个“商业级别的WebGL 3D引擎和编辑器”,你可以免费使用,但是要想获得未压缩的完整版带支持文档的源码和其他服务,则需要购买授权。

 

每个框架都有各自的特点,开发者可以根据自己的需求选择最适合自己的框架。在接下来的几章中,我们会使用Three.js作为3D引擎做示例,它是目前最受欢迎的WebGL框架。

在这么多WebGL框架中应用最广泛的,相关文档资料最丰富的当数three.js莫属了。

 

三、Unity3d 5与 WebGL

Unity是由Unity Technologies开发的一个让玩家轻松创建诸如三维视频游戏、建筑可视化、实时三维动画等类型互动内容的多平台的综合型游戏开发工具,是一个全面整合的专业游戏引擎

随着Unity5.0的发布,WebGL平台的部署也正式登场,Unity5.0支持WebGL发布。