cesium 和 Three.js有什么区别,以及二者与WebGL 的关系

JavaScript011

cesium 和 Three.js有什么区别,以及二者与WebGL 的关系,第1张

二者都是基于WebGL技术开发的js库

Threejs受众面比较广,是封装了webgl的一些底层用法,让初学者更容易上手;例如绘制一个立方体,使用webgl原生api可能要写50行代码,包括构建坐标点,顶点组织、着色器等信息;在threejs里面可能只要一句代码就可以构建(实际上也是调用webgl原生api),只是做了更大粒度的封装

Cesium受众面相对较小,是Gis相关的,也是基于WebGL开发的,它主要是三维地球相关的js库,可以展示二维地图服务(百度高德)、倾斜摄影模型;还可以在上面做一些三维分析,可以参考http://cesium.xin

打开百度地图,默认是二维地图,鼠标放在不是显示地图区域的空白处右键审查元素看看,可以看到这些事一系列图片结合js脚本处理做成的,全景地图是flsah做的,开一辆车,车上装一个能拍四方的摄像头,然后开车穿大街小巷,把拍到的照片拿回来经过一系列图片拼合、编程就呈现出来在网页上。