新版本cesium的注意点

之前基于1.99版本写了一套插件,最近想替换成目前的新版本(114),发现有很多写法都不能用了,这里做一下记录。

  1. 100版本发布了@cesium/engine@cesium/widgets,引用方式上就会有些变化;
  2. 102版本默认采用了webgl2,如果不支持则会回退到webgl1。这样牵扯了很多shader中的用法,比如片元着色器中的varing改成ingl_FragColor改成out_FragColortexture2D改成texture等,如果不想用webgl2,可以用以下方式:
const viewer = new Viewer("cesiumContainer", {contextOptions: {requestWebgl1: true,},
});
  1. 104版本开始弃用readyPromise,3dtiles的加载方式也发生了变化,Cesium3DTileset不能被直接实例化,而是采用Cesium3DTileset.fromUrl. 加载gltf模型也发生了变化。
// 加载3dtiles
try {const tileset = await Cesium.Cesium3DTileset.fromUrl(url);viewer.scene.primitives.add(tileset);
} catch (error) {console.log(`Failed to load tileset: ${error}`);
}// 加载gltf/glb
try {const model = await Cesium.Model.fromGltfAsync({url: "../../SampleData/models/CesiumMan/Cesium_Man.glb",});viewer.scene.primitives.add(model);model.readyEvent.addEventListener(() => {// model is ready for rendering});
} catch (error) {console.log(`Failed to load model. ${error}`);
}
  1. 104版本中,imageryProvider也被删除,改用baseLayer代替;地形加载方式也有了新的变化。
try {const viewer = new Cesium.Viewer("cesiumContainer", {terrainProvider: await Cesium.createWorldTerrainAsync(),baseLayer: new Cesium.ImageryLayer(new Cesium.UrlTemplateImageryProvider({url: "http://webst02.is.autonavi.com/appmaptile?style=6&x={x}&y={y}&z={z}",maximumLevel: 16,})),});
} catch (error) {console.log(`Failed to created terrain: ${error}`);
}
  1. 109版本中,Firefox 114 现在是运行 CesiumJS 所需的最低 Firefox 版本,为了方便Web Worker加载并删除过时的依赖项。
  2. 110版本中,Cesium3DTileset.maximumMemoryUsage被删除,使用Cesium3DTileset.cacheBytesCesium3DTileset.maximumCacheOverflowBytes代替。
  3. 114版本中,默认情况下,屏幕空间相机控制器将不再进入Cesium3DTileset;默认启用Cesium3DTileset.dynamicScreenSpaceError来进行场景优化,可以提高水平方向上加载的性能。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/691636.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

conda 所有的命令及其讲解

Conda 是一个开源的包管理器和环境管理器,可以用于安装、运行和升级跨平台的软件包和环境。Conda 很流行于数据科学、机器学习、科学计算等领域,因为它能够快速地安装、管理和部署软件包和环境。以下是 Conda 的一些主要命令及其简要说明: 环…

【Linux】git操作 - gitee

1.使用 git 命令行 安装 git yum install git 2.使用gitee 注册账户 工作台 - Gitee.com 进入gitee,根据提示注册并登录 新建仓库 仓库名称仓库简介初始换仓库 3.Linux-git操作 进入仓库,选择“克隆/下载” 复制下面的两行命令进行git配置 然后将仓库clo…

React 中的类组件

组件分为内置原生组件和自定义组件 内置组件p h1 span type字符串自定义组件 类型是一个 函数 ,类组件的父类Component的原型上有一个属性 isReactComponent{} 自定义组件的名称必须是大写字母开头 自定定组件的返回值有且只能一个根元素 import React from ./react; import …

教师专业发展的五个阶段

每当人们谈论教师,总会联想到“传道授业解惑”的崇高形象。但教师的专业成长,绝非一蹴而就。今天,就让我们一起探秘教师专业发展的五个阶段,看看一位普通教师是如何历练成为教育行家的。 阶段一:新手摸索期 初入教育行…

走进科学系列之遭遇鬼打墙的OUTLOOK

网管小贾 / sysadm.cc 正值春运,车站里熙熙攘攘、人头攒动。 鲍勃和约瑟夫正在候车室,等待检票。 “嗨!约瑟夫!快来看看,我的电脑出问题了!” “得了吧,马上就要检票上车了,你就不…

IP显示地址与实际地址不一致,你知道为什么吗?

在数字化时代,IP地址作为网络世界中的“身份证”,其重要性不言而喻。然而,有时我们可能会遇到这样一个现象:IP显示地址与实际地址不一致。这究竟是怎么一回事呢?虎观代理小二二将带您一起探究这一现象背后的原因。 1、…

nacos用作注册中心

nacos除了用作配置中心,即可以将配置信息由配置文件转移到nacos上,更便于修改和维护外,更重要的,是用作微服务的注册中心。没有这类中间件,微服务玩不转。 微服务架构也者,就是有好多好多的微服务&#xf…

调用接口时不时出现 Error: socket hang up

项目场景: 提示:这里简述项目相关背景: 今天采用golang创建了一个http服务,准备对若干接口进行测试。 问题描述 提示:这里描述项目中遇到的问题: 在测试第一个接口时,发现采用postman调用接口…

Ansible yum模块 主要用于软件安装

目录 选项 实例 安装一个tree实例卸载一个 tree 选项 name   #所安装的包的名称 state  #present—>安装, latest—>安装最新的, absent—> 卸载软件。 update_cache  #强制更新yum的缓存 conf_file  #指定远程yum安装时所依赖的配置文件&…

5G车载路由器引领无人驾驶车联网应用

随着无人驾驶技术的不断发展,车联网正逐渐成为实现智能交通的重要组成部分。5G车载路由器将在车联网的应用中起到至关重要的作用,它能够满足无人驾驶应用的低时延、高速率和实时控制等需求,进一步推动无人驾驶车联网技术。 5G路由器具备低时延…

CF1172A Nauuo and Cards 题解 贪心

Nauuo and Cards 传送门 Nauuo is a girl who loves playing cards. One day she was playing cards but found that the cards were mixed with some empty ones. There are n n n cards numbered from 1 1 1 to n n n, and they were mixed with another n n n empty…

从 AGP 4.1.2 到 7.5.1——XmlParser、GPathResult、QName 过时

新年首发, 去年的问题,今年解决~ 问题 & 排查 1: Task failed with an exception. ----------- * What went wrong: Execution failed for task :app:processCommonReleaseManifest. > org.xml.sax.SAXParseException; lineNumber: 1; columnNu…

【申请体验Sora】OpenAI Red Teaming Network application

网址:https://openai.com/form/red-teaming-network 使用Gmail , 国家选美国 两个问题: Why are you interested in joining the OpenAI Red Teaming Network? I’m eager to experience the powerful allure of Sora, which I believe wi…

postgresql 文件结构(一) 数据库、表对应的文件

1、问题 甲方要求提供数据库数据量大小,由于各个业务数据库共用一个postgres,因此想把每个数据库占用的空间都统计一下。 2、查找物理存储文件目录 如下图所示,可以查询表、库的物理存储文件名称 -- 查询表对应的文件 select oid,relname…

leetcode 01背包问题

典型的01背包问题可以暴力求解,直接将所有可能全部遍历然后挑选符合条件的即可,但这样时间复杂度过高,有2的n次方。 所以我们在这里采用动态规划的方式来做,并且,我们可以采用二维数组或者一维数组来做。 二维数组&a…

每天一个数据分析题(一百五十九)

主成分分析(PCA)不适宜单独用于哪种情况? A. 员工绩效的评估和排名 B. 描述产品情况,如子公司的业务发展状况 C. 消除数据分析中的共线性问题 D. PCA可以作为异常识别的算法使用 题目来源于CDA模拟题库 点击此处获取答案

PMP每日十题-2024年2月20日

项目经理发现,一些团队成员不清楚其职责和活动,哪一项工具或技术能够帮助项目经理明确定义这些职责和活动? A、组织图 B、工作分解结构 C、执行,负责,咨询和知情矩阵(RACI) D、项目成员派工单 答…

供水管网管道爆管事故发生原因及控制措施

经济的快速发展及城镇化的不断推进使得我国的城镇数量及规模都在不断地扩大。供水系统是城镇基础设施中 的重要的一环。现今在我国各城市中已经建立了相对完善的城市供水管网体系。但是在供水管网运行过程中爆管问题时 有发生,从而对城市用水的正常供应以及民众的正…

如何在 Angular 中使用 ng-container 元素

简介 ng-container 是 Angular 2 中可用的一个元素,可以作为结构指令的宿主。 在本文中,您将探讨可以使用 ng-container 解决的场景。 先决条件 如果您想跟着本文学习,您需要: 熟悉 DOM 的结构。要了解更多,请查看…

2024前端面试准备之Vue3篇

全文链接!!!!!! 1. Vue3相比Vue2有哪些改进? Composition API: Vue3引入了Composition API,使得组件的逻辑更加清晰和灵活。开发者可以根据功能逻辑将代码按照功能进行组织,而不是按照选项的方式。 更快的渲染性能:Vue3使用了Proxy代理对象来实现数据的响应式,相比…