cesium 的几个默认用法

cesium有几个默认的用法,不知道如何翻译,但是不了解还是感觉很不舒服:

1、带有scratch部分的关键词,主要是一些全局的临时变量,用于减少内存的申请,大部分是在某个函数的开始部分清空内容,参与计算,计算完成后再次清空内容;

2、带有Derived部分的关键词;

  • DerivedCommand是根据Command中的shader添加了一些自己的glsl代码,但是与Command使用相同的几何数据;

  • DerivedCommand 依附于Command存在,索引更新实体时,也要相应你的更新DerivedCommand;

  • Derived主要是用于多个命令的参数大体相同,不用重新创建命令,减少重复cpu执行过程,而且命令主要用于绘制,DerivedCommand 依附于Command存在,在绘制的时候减少webgl命令的切换,提高执行效率;

  • 此外Resource也有Derived的方法,主要是tileset.json中都是相对路径,需要使用最初的baseUrl,所以通过Derived方法实现。

3、cesium中的很多处理过程是流程式的,比如地形瓦片、3DTiles等处理过程,这些过程都有各种处理状态,例如:准备状态、开始下载、下载完成、正在处理、处理完成等。

最后说一下cesium中类的结构,代码如下:

//以CesiumWidget.js文件为蓝本进行说明

//1、js文件中全局方法
  function startRenderLoop(widget){
      //do something...
  }

//2、js文件中类的声明
  function CesiumWidget(container, options) {
      // init something...
  	   this._container = container;
      // init other something...
  }

//3、js文件中函数的定义
  CesiumWidget.prototype.isDestroyed = function() {
     return false;
  };

//4、js文件中属性使用set和get方法
  Object.defineProperties(CesiumWidget.prototype, {
    container: {
      get: function() {
        return this._container;
      },
    }
  }

上一篇:cesium支持的3d模型格式


下一篇:使用SuperMap iDesktop发布服务,使用SuperMap Cesium预览