cesium 的几个默认用法

本文详细介绍了Cesium的几个关键用法,包括scratch变量、DerivedCommand的使用和流程式处理,以及类的结构。同时,讨论了抗锯齿实现、大坐标处理方法和对象销毁的处理策略,揭示了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等处理过程,这些过程都有各种处理状态,例如:准备状态、开始下载、下载完成、正在处理、处理完成等。

        这些流程式的过程一般都会使用pass、state或者passState标识。

        但是在很多时候要进行各种状态的判断,判断方式都是使用“==”感觉有写累赘,例如使用下面这种方式感觉更好:

//primitive.js中

// cesium 原本的方式
  if (
    this._state !== PrimitiveState.COMPLETE &&        // 数据状态不是完成
    this._state !== Primiti
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值