WebGL(全写Web Graphics Library)是一种3D绘图协议,这种绘图技术标准允许把JavaScript和OpenGL ES 2.0结合在一起,通过增加OpenGL ES 2.0的一个JavaScript绑定,WebGL可以为HTML5 Canvas提供硬件3D加速渲染,这样Web开发人员就可以借助系统显卡来在浏览器里更流畅地展示3D场景和模型了,还能创建复杂的导航和数据视觉化。
在学习和使用webgl的过程中,我们是不可能直接使用原生webgl api,这种学习成本大而且耗时。我们一般会使用基于这个开发的3d框架。
下面就看看几个基础框架:
three.js : 这个框架我想即使没有做过webgl的人多多少少也会听说。他属于最大众的一个webgl框架,基于开源社区,有大量的例子和文档供学习者学习,而且基于插件化架构,在使用时只需要加入各种对应插件就可以。在封装上比较开放,相对来说不是很简单。需要比较多的代码来构建示例。
babylon.js : 这个框架是由微软发起的,并由微软维护。本身属于一个游戏框架,所以加入了一些three没有功能,而且支持webvr等。接口想对于three简单,属于高度封装。
xeogl.js : 这个框架在国内应该比较陌生,他本身使用量比较小。属于一个个人开发,但是在于他跟IBM实现了合作,IBM最新一个项目是基于这个框架开发的。这个框架不像其他框架那样为3d而生,它本身更注重建筑等领域,所以他实现了ifc模型的加载,同时支持加载IBM的模型数据。所以可能在特定领域他更加流行。但如果你想做一个酷炫的效果,这个框架是远远满足不了你的需求的。
文章来源: https://www.toutiao.com/group/6761926273204748812/