麻辣GIS微信平台

更多 GIS 干货

微信关注不错过

Cesium API - PostProcessStageLibrary 中文文档

本文介绍下Cesium中 PostProcessStageLibrary API的详细使用说明。

PostProcessStageLibrary API 调用方法

PostProcessStageLibrary()
包含用于创建常见的后期处理阶段的功能。

内置方法

staticCesium.PostProcessStageLibrary.createBlackAndWhiteStage()PostProcessStage
创建一个后期处理阶段,用黑白渐变渲染输入纹理。

这一阶段有一个uniform值,gradations,衡量每个像素的亮度(luminance)。

返回值:
一个后期处理阶段,用黑白渐变渲染输入纹理。
staticCesium.PostProcessStageLibrary.createBlurStage()PostProcessStageComposite
创建一个后期处理阶段,对输入纹理应用高斯模糊(Gaussian blur)。这个阶段通常与另一个阶段一起应用。

该阶段有以下uniforms:deltasigmastepSize

deltasigma用来计算高斯过滤的权值。方程式为exp((-0.5 * delta * delta) / (sigma * sigma))delta >的默认值是1.0sigma >的默认值是2.0stepSize是到下一个纹素的距离。默认值是1.0

返回值:
对输入纹理应用高斯模糊的后期处理阶段。
staticCesium.PostProcessStageLibrary.createBrightnessStage()PostProcessStage
创建一个后期处理阶段,使输入纹理饱和(saturates)。

这一阶段有一个uniform值,brightness,衡量每个像素的饱和度。

返回值:
后期处理阶段,使输入纹理饱和。
staticCesium.PostProcessStageLibrary.createDepthOfFieldStage()PostProcessStageComposite
创建一个后期处理阶段,以应用景深(depth of field -> DOF)效果。

景深模拟相机对焦。场景中聚焦的物体会很清晰,而非聚焦的物体会很模糊。

该阶段有以下uniforms:focalDistancedeltasigmastepSize

focalDistance是从相机到设置相机焦点的距离(以米为单位)。

deltasigmastepSizePostProcessStageLibrary#createBlurStage 中的属性一致。 模糊应用于失焦的区域。

返回值:
应用景深效果的后期处理阶段。
staticCesium.PostProcessStageLibrary.createEdgeDetectionStage()PostProcessStageComposite
创建一个边缘检测(EdgeDetection)后期处理阶段。

将颜色写入输出纹理,当位于边缘时将alpha设置为1.0。

该阶段有以下uniforms:colorlength

  • color是突出显示边缘的颜色。默认为Color#BLACK
  • length是边缘的长度,以像素为单位。默认为0.5

2D中不支持此阶段。

返回值:
应用边缘检测效果的后期处理阶段。
示例:
// 多个剪影效果
var yellowEdge = Cesium.PostProcessLibrary.createEdgeDetectionStage();
yellowEdge.uniforms.color = Cesium.Color.YELLOW;
yellowEdge.selected = [feature0];
var greenEdge = Cesium.PostProcessLibrary.createEdgeDetectionStage();
greenEdge.uniforms.color = Cesium.Color.LIME;
greenEdge.selected = [feature1];
// 在feature0和feature1周围绘制边缘
postProcessStages.add(Cesium.PostProcessLibrary.createSilhouetteEffect([yellowEdge, greenEdge]);
staticCesium.PostProcessStageLibrary.createLensFlareStage()PostProcessStage
创建一个后期处理阶段,应用一种效果来模拟相机镜头的眩光(light flaring)。

这个阶段有以下uniforms:dirtTexturestarTextureintensitydistortionghostDispersalhaloWidthdirtAmountearthRadius

  • dirtTexture是在镜头上模拟尘埃(dirt)的一个纹理采样。
  • starTexture是为耀斑的星图(star pattern)采样的纹理。
  • intensity是一个标量乘以镜头耀斑的结果。 默认值为2.0
  • distortion是影响彩色效果失真的标量值。默认值为10.0
  • ghostDispersal是一个标量,表示光晕效果距离纹理中心有多远。默认值为0.4
  • haloWidth是一个标量,表示从ghostDispersal而来的光晕的宽度。默认值为0.4
  • code>dirtAmount是一个标量,表示镜头上的尘埃(dirt)量。默认值为0.4
  • earthRadius是地球的最大半径。默认值为Ellipsoid.WGS84.maximumRadius

返回值:
应用镜头光晕效果的后期处理阶段。
staticCesium.PostProcessStageLibrary.createNightVisionStage()PostProcessStage
创建一个后期处理阶段,为输入纹理添加夜视(night vision)效果。
返回值:
一个后期处理阶段,增加了夜视效果的输入纹理。
staticCesium.PostProcessStageLibrary.createSilhouetteStage()PostProcessStageComposite
创建一个后期处理阶段,以应用剪影(silhouette)效果。

剪影效果从具有输入颜色纹理的边缘检测通道复合颜色。

edgeDetectionStagesundefined时,该阶段有以下uniforms:colorlength

  • color是突出显示边缘的颜色。默认为Color#BLACK
  • length是边缘的长度,以像素为单位。默认为0.5
  • 返回值:
    应用剪影效果的后期处理阶段。
    staticCesium.PostProcessStageLibrary.isAmbientOcclusionSupported(scene)Boolean
    是否支持环境遮蔽阶段。

    该阶段需要WEBGL_depth_texture扩展。

    Name Type Description
    scene Scene 场景。
    返回值:
    是否支持此后期处理阶段。
    参考:
    staticCesium.PostProcessStageLibrary.isDepthOfFieldSupported(scene)Boolean
    是否支持景深阶段。

    该阶段需要WEBGL_depth_texture扩展。

    Name Type Description
    scene Scene 场景。
    返回值:
    是否支持此后期处理阶段。
    参考:
    staticCesium.PostProcessStageLibrary.isEdgeDetectionSupported(scene)Boolean
    是否支持边缘检测阶段。

    该阶段需要WEBGL_depth_texture扩展。

    Name Type Description
    scene Scene 场景。
    返回值:
    是否支持此后期处理阶段。
    参考:
    staticCesium.PostProcessStageLibrary.isSilhouetteSupported(scene)Boolean
    是否支持剪影阶段。

    该阶段需要WEBGL_depth_texture扩展。

    Name Type Description
    scene Scene 场景。
    返回值:
    是否支持此后期处理阶段。
    参考:

    其他API

    Cesium中文API文档手册(v1.63.1版本)参考:《Cesium中文API文档手册(v1.63.1版本)

    相关阅读

    麻辣GIS-Sailor

    作者:

    GIS爱好者,学GIS,更爱玩GIS。

    声明

    1.本文所分享的所有需要用户下载使用的内容(包括但不限于软件、数据、图片)来自于网络或者麻辣GIS粉丝自行分享,版权归该下载资源的合法拥有者所有,如有侵权请第一时间联系本站删除。

    2.下载内容仅限个人学习使用,请切勿用作商用等其他用途,否则后果自负。

    手机阅读
    公众号关注
    知识星球
    手机阅读
    麻辣GIS微信公众号关注
    最新GIS干货
    关注麻辣GIS知识星球
    私享圈子

    留言板(小编看到第一时间回复)