ArcGIS JSAPI 高级教程 - ArcGIS Maps SDK for JavaScript - 高度雾 HeightFogEffect 效果
2026/8/13 22:46:06
网站建设
项目流程
ArcGIS JSAPI 高级教程 - ArcGIS Maps SDK for JavaScript - 高度雾 HeightFogEffect 效果
- 一、功能介绍
- 二、功能实现
- 三、功能应用
- 四、核心代码
- 4.1 构造函数与默认参数
- 4.2 挂入后处理链(RenderNode + 内联 buildBaseConfig)
- 4.3 片元着色器核心算法(Cesium gf 移植)
- 4.4 生命周期方法
- 五、完整代码
- 六、在线示例
- 七、关键API说明
- HeightFogEffect 构造参数
- HeightFogEffect 方法与属性
- height / density 调参对照
![]()
一、功能介绍
高度雾(Height Fog)是一种真实感大气效果:雾的浓度随像素海拔高度递减——低处(地面、建筑底部)雾浓,高处(楼顶、天空)雾淡甚至无雾,从而模拟近地面水汽/霾的视觉层次。它与普通「距离雾」不同:距离雾只看离相机多远,高度雾只看离地多高。
HeightFogEffect是一个后处理(Post-processing)特效类,直接作用于SceneView的渲染画面:
- 从深度缓冲重建每个像素的世界坐标(ECEF)
- 计算像素海拔,并与相机海拔一起沿视线对线性雾密度做解析积分
- 支持空中雾墙:远处地平线/天空像素被重建到低海拔远点,产生漂浮的雾带(这是 Cesium gf 算法的关键特征,不可跳过天空像素)
- 参数运行时可调:雾高、浓度、颜色,切换通过
enabled属性即时生效 - 生命周期清晰:
start()启动挂