Cesium笔记 暗色地图

export default function modifyMap(viewer, options) {
    const baseLayer = viewer.imageryLayers.get(0)
    //以下几个参数根据实际情况修改,目前我是参照火星科技的参数,个人感觉效果还不错
    baseLayer.brightness = options.brightness || 0.6
    baseLayer.contrast = options.contrast || 1.8
    baseLayer.gamma = options.gamma || 0.3
    baseLayer.hue = options.hue || 1
    baseLayer.saturation = options.saturation || 0
    const baseFragShader = (viewer.scene.globe)._surfaceShaderSet
        .baseFragmentShaderSource.sources
    for (let i = 0; i < baseFragShader.length; i++) {
        const strS = 'color = czm_saturation(color, textureSaturation);\n#endif\n'
        let strT = 'color = czm_saturation(color, textureSaturation);\n#endif\n'
        if (options.invertColor) {
            strT += `
      color.r = 1.0 - color.r;
      color.g = 1.0 - color.g;
      color.b = 1.0 - color.b;
      `
        }
        if (options.filterRGB.length > 0) {
            strT += `
      color.r = color.r * ${options.filterRGB[0]}.0/255.0;
      color.g = color.g * ${options.filterRGB[1]}.0/255.0;
      color.b = color.b * ${options.filterRGB[2]}.0/255.0;
      `
        }
        baseFragShader[i] = baseFragShader[i].replace(strS, strT)
    }
}

代码使用:

//暗色地图
    modifyMap(viewer, {
      //反色?
      invertColor: true,
      //滤镜值
      filterRGB: [60, 145, 172]
    });

实现效果:

  • 6
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Cesium是一种用于构建三维地球、地球模型和可视化数据的开源JavaScript库,已经在国外的建筑领域得到广泛应用。然而,在国内,由于一些限制和挑战,Cesium在建筑地图领域的应用还相对较少。 首先,国内对3D建筑地图的需求相对较低。传统的二维平面地图已经能够满足大多数使用场景,而建立完整而准确的三维地图需要大量的时间和资源投入。对于大部分建筑项目而言,二维地图已经足够满足实际需求。 其次,Cesium在国内的知名度相对较低。相比于国外,国内对于开源技术的接受度和应用能力还有一定的提升空间。因此,Cesium在国内建筑地图领域的推广和推崇还需要一定的时间和工作。 另外,国内的地理数据获取和处理方面也存在一些挑战。Cesium建立地图需要依赖高精度的地理数据,包括地形、建筑物模型和纹理等。然而,国内的地理数据质量和覆盖范围还有待提高,这对Cesium在国内的应用造成一定的限制。 然而,随着科技的进步和人们对于三维地图需求的增加,Cesium在国内建筑地图领域的应用也逐渐得到关注。随着国内建筑行业的不断发展和技术的不断成熟,Cesium在建筑地图中的应用前景将变得更加广阔。同时,需求方和技术开发人员也需要共同努力,克服目前的限制和挑战,推动Cesium在国内建筑地图领域的发展。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值