three.js cesium badylon.js 以及webgl区别

WebGL
首先OpenGL ES是基于OpenGl的嵌入式阉割版,常用于安卓等等的移动端,而为了能让现代的web也能直接使用显卡、3D、渲染等等又基于Opengl ES 在H5中开发出了WebGL;WebGL使得在支持HTML 的 canvas 标签的浏览器中,不需要安装任何插件,便可以使用基于OpenES 2.0 的 API 在 canvas 中进行2D和3D渲染。WebGL程序包括用 JavaScript 写的控制代码,以及在图形处理单元(GPU, Graphics Processing Unit)中执行的着色代码(GLSL,注:GLSL为OpenGL着色语言)。WebGL 元素可以和其他 HTML 元素混合使用,并且可以和网页其他部分或者网页背景结合起来。

There.js
cesium和three.js都是基于WebGL的JS库,用于在浏览器中创建和显示动画3D计算机图形。Cesium侧重行星级渲染和GIS功能,Three.js侧重3D图形学本身,提供了通用3D API,二者可以结合起来使用来完成功能复杂的应用。 OpenGL大概许多人都有所耳闻,它是最常用的跨平台图形库。 WebGL是基于OpenGL设计的面向web的图形标准,提供了一系列JavaScript API,通过这些API进行图形渲染将得以利用图形硬件从而获得较高性能。 而Three.js是通过对WebGL接口的封装与简化而形成的一个易用的图形库。
虽然WebGL提供的是面向前端的API,但本质上WebGL跟前端开发完全是两个不同的方向,知识的重叠很少。相关性只是他们都在web平台上,都是用javascript而已。一个前端程序员或许还熟悉解析几何,但是还熟悉线性代数的应该寥寥无几了(比如求个逆转置矩阵试试?),更何况使用中强调矩阵运算中的物理意义,这在教学中也是比较缺失的。因此,前端工程师想要短时间上手WebGL还是挺有难度的。 于是,Three.js对WebGL提供的接口进行了非常好的封装,简化了很多细节,大大降低了学习成本。并且,几乎没有损失WebGL的灵活性。 因此,从Three.js入手是值得推荐的,这可以让你在较短的学习后就能面对大部分需求场景。
然而,Three.js 早在2009年4月开始出生,在换成JavaScript语言之前最初是用ActionScript。在WebGL的引入之前已经创建了three.js独特方便的模块化渲染接口,并在不用WebGL的情况下允许它使用SVG和HTML5画布元素。 随着flash的没落,浏览器的原生能力的兴起。在3D方面WebGL不管从功能还是性能方面都在逐渐加强。2D应用变为3D应用的需求也越来越强烈。
Babylon.js, 是相对陌生的来者, 它出生在2013年的夏天。由微软心中发布了Babylon.js和首次正式支持WebGL API的Internet Explorer 11。Three.js and Babylon.js 两者都提供了易于使用的接口来处理错综复杂的WebGL动画。两者之间的主要区别在于他们的预期用途。虽然两者都可以产生相同的效果,但是了解他们两个的过程是很重要的。Three.js的一个创作目标是:利用基于web的渲染器创建GPU增强的3d图形和动画。这样,这个框架使用非常广泛的方法web图形,而不需要不关注动画的任何一个细节。这种灵活的设计使得Three.js成为一个好工具(可以在there.js例子找到很多的例子)。尽管Three.js试图给WebGL带来许多的动画方式,而Babylon.js采用更有针对性的方法。最初设计作为一个Silverlight游戏引擎,Babylon.js的维护倾向于基于web的游戏开发与碰撞检测和抗锯齿等特性。在其官网上可以看到许多的例子。所以Babylon.js更倾向于做游戏的开发!

Cesium

威尔逊Muktar关于整合Three.js与铯的客人帖子。Three.js是一个轻量级的跨浏览器JavaScript库,用于在浏览器中创建和显示动画3D计算机图形。将Cesium的行星级渲染和GIS功能与Three.js广泛而易用的通用3D
API相结合,为新的WebGL体验开启了许多可能性。你可以在这里查看这个演示的实时版本和代码本身。 - 加里

Cesium是国外一个基于JavaScript编写的使用WebGL的地图引擎。Cesium支持3D,2D,2.5D形式的地图展示,可以自行绘制图形,高亮区域,并提供良好的触摸支持,且支持绝大多数的浏览器和mobile。 Cesium支持三维地球(3D),二维地图(2D)以及2.5D哥伦布视图(2.5D)

  • 优化的WebGL,充分利用硬件渲染图形,使用低级别的几何和渲染程序。

  • 绘制大范围的折线,多边形,广告牌,标签,挤压以及走廊。

  • 控制摄像头和创造飞行路径。

  • 使用动画控件控制动画时间。

Badylon.js
babylon.js与there.js、cesium一样都是基于web GL的是一个完整的JavaScript框架,用于构建HTML5,WebGL,但是babylon.js突出的应用在WebVR和Web Audio的3D游戏和体验. 除了游戏用来在页面实现一些3D场景也是没问题的。 babylon.js相对于其他框架他是基于未来的3D页面游戏开发的当然也包括H5游戏等等这里有一个小游戏的教程有兴趣的可以学习:babylon.js教程

  • 8
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值