当前位置: 首页 > article >正文

cesium.js 入门到精通(5-2)

在cesium 的配置中 有一些参数 可以配置地图的显示 

显示出 水的动态显示 山的效果

相当于一些动画显示的效果

  var viewer = new Cesium.Viewer("cesiumContainer", {
    infoBox: false,

    terrainProvider: await Cesium.createWorldTerrainAsync({
      requestWaterMask: true,
      requestVertexNormals: true
    }),
  });

在 CesiumJS 中,Cesium.createWorldTerrainAsync 方法用于异步加载全球地形数据,它返回一个 Cesium.TerrainProvider 的实例,该实例可以被用于 Cesium.Viewer 或其他需要地形数据的 Cesium 组件中。这个方法接受一个配置对象作为参数,其中 requestWaterMask 和 requestVertexNormals 是这个配置对象中可以设置的两个选项,它们各自有不同的用途:

  1. requestWaterMask:
    • 这个选项用于指示 Cesium 在加载地形数据时是否也应该请求水掩码(water mask)信息。水掩码信息用于区分哪些区域是水域(如海洋、湖泊等),这对于渲染水体、计算水面反射等效果非常重要。
    • 当 requestWaterMask 设置为 true 时,Cesium 会尝试获取并应用水掩码数据,以便更准确地表示水体区域。
    • 需要注意的是,并非所有地形数据源都提供水掩码信息,这取决于具体的数据源。
  2. requestVertexNormals:
    • 这个选项用于指示 Cesium 是否应该在加载地形时请求顶点法线(vertex normals)信息。顶点法线对于光照计算、阴影生成以及许多视觉效果都至关重要,因为它们定义了表面的方向性。
    • 当 requestVertexNormals 设置为 true 时,Cesium 会尝试获取并应用地形表面的顶点法线数据,以改善视觉效果和物理计算的准确性。
    • 同样,并非所有地形数据源都直接提供顶点法线信息。如果数据源不包含这些信息,Cesium 可能会通过算法来近似计算这些法线。

在你的代码中,await Cesium.createWorldTerrainAsync({...}) 这一行使用了 await 关键字,这意味着该代码片段应该位于一个异步函数内部。然而,直接在 new Cesium.Viewer 的构造函数中这样使用 await 是不合适的,因为构造函数的参数需要是同步确定的。为了解决这个问题,你可以将地形提供者的创建放在一个单独的异步函数中,并在该函数内部使用 await,然后将返回的地形提供者传递给 Cesium.Viewer 的构造函数。

如果不加这两个参数 是这样的显示 效果 就没有真么立体了 还是有很大的区别的


http://www.kler.cn/a/315313.html

相关文章:

  • 修改数据库和表的字符集
  • linux上海康SDK安装并设置环境变量
  • 企业一站式管理系统odoo的研究——PLM插件的搭建
  • 高级java每日一道面试题-2024年11月06日-JVM篇-什么是 Class 文件? Class 文件主要的信息结构有哪些?
  • Python 中.title()函数和.lower()函数
  • 项目风险管理的3大要素
  • CentOS7.9环境上NFS搭建及使用
  • linux-系统备份与恢复-系统恢复
  • 云硬盘EVS详细解析和配置使用方法
  • 【在Linux世界中追寻伟大的One Piece】IP分片和组装的具体过程
  • Qt5详细安装教程(包含导入pycharm)
  • LangChain4j支持的API类型
  • Linux中使用cp命令的 -f 选项,但还是提醒覆盖的问题
  • 828华为云征文|云服务器Flexus X实例|MacOS系统-宝塔部署Nuxt项目
  • 【C#生态园】从基础到深度学习:探索C#机器学习库
  • EclipseRCP开发(三)-如何去除顽固原生菜单项
  • 递归手撕,JSON 字符串化和解析,加权树结构的字符串解析对象,解析并返回DOM 树结构(DOMParser),解析带有层级的文本
  • 51单片机-LCD1602(液晶显示屏)- 写驱动
  • 数据结构-树(基础,分类,遍历)
  • JAVA基础:System类,Runtime类,Arrays类的常用方法,二分查找算法
  • C++竞赛初阶L1-16-第七单元-字符串(36~37课)559: T456513 统计数字字符个数
  • 基于Redis实现幂等判断
  • 异步请求的方法以及原理
  • MyBatis动态SQL中的`if`标签使用【后端 19】
  • C++ 条件变量:wait、wait_for、wait_until
  • 【开源大模型生态9】百度的文心大模型