麻辣GIS微信平台

更多 GIS 干货

微信关注不错过

Cesium API - PostProcessStageCollection 中文文档

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

PostProcessStageCollection API 调用方法

new Cesium.PostProcessStageCollection()
PostProcessStage或/和PostProcessStageComposite的集合。

每个后期处理阶段的输入纹理是集合中场景渲染的纹理或前一阶段渲染的纹理。

如果启用了环境光遮蔽或bloom阶段,它们将在所有其他阶段之前执行。

如果启用了FXAA阶段,它将在所有其他阶段之后执行。

成员变量

创建一个后期处理阶段,将基于地平线的环境光遮蔽(Horizon-based Ambient Occlusion -> HBAO)应用到输入纹理。

环境光遮蔽模拟环境光的阴影。当表面接收到光线时,无论光线的位置如何,这些阴影总是存在的。

uniforms有以下属性:intensitybiaslengthCapstepSizefrustumLengthrandomTextureambientOcclusionOnlydeltasigmablurStepSize

  • intensity是一个标量值,用来以指数方式使阴影变亮或变暗。数值越大,阴影越暗。默认值为3.0
  • bias是一个标量值,以弧度表示角度。如果样本的法向量和相机的向量之间的点积小于这个值,采样就会在当前方向停止。这是用来从近平面边缘消除阴影。默认值是0.1
  • lengthCap是一个标量值,表示长度(以米为单位)。如果从当前样本到第一个样本的距离大于这个值,则在当前方向停止采样。默认值是0.26
  • stepSize是一个标量值,表示当前方向到下一个纹素样本的距离。默认值是1.95
  • frustumLength是一个以米为单位的标量值。如果当前片元与相机的距离大于此值,则不计算该片元的环境光遮蔽。默认值是1000.0
  • randomTexture是一个纹理,其中红色通道是[0.0,1.0]中的一个随机值。默认值是undefined。此纹理需要设置。
  • ambientOcclusionOnly是一个布尔值。当true时,只有生成的阴影被写入输出。当false时,使用环境光遮蔽对输入纹理进行调整。对于查看更改uniform值的效果,这是一个有用的调试选项。默认值是false

deltasigmablurStepSizePostProcessStageLibrary#createBlurStage 中的属性一致。 模糊应用于图像产生的阴影,使它们更平滑。

启用后,此阶段将在所有其他阶段之前执行。

bloom效果的后期处理阶段。

bloom效果增加了辉光效果,使明亮的区域更亮,而黑暗的区域更暗。

这个后期处理阶段有以下uniforms:contrastbrightnessglowOnlydeltasigmastepSize

  • contrast是[-255.0,255.0]范围内的标量值,影响效果的对比度。默认值为128.0
  • brightness是一个标量值。将输入的纹理RGB值转换为色相、饱和度和亮度(HSB),然后将该值添加到亮度中。默认值为-0.3
  • glowOnly是一个布尔值。当true时,只显示辉光效果。当false时,辉光将被添加到输入纹理中。 默认值为false。这是一个调试选项,用于在更改其他uniform值时查看效果。
  • deltasigmastepSizePostProcessStageLibrary#createBlurStage 中的属性一致。 模糊应用于图像产生的阴影,使它们更平滑。

    启用后,此阶段将在所有其他阶段之前执行。

反锯齿的后期处理阶段。

启用后,此阶段将在所有其他阶段之后执行。

readonlylength : Number
本集合中后期处理阶段的数量。
readonlyready : Boolean
确定集合中的所有后期处理阶段是否已准备好执行。

内置方法

向集合中添加后期处理阶段。
Name Type Description
stage PostProcessStage | PostProcessStageComposite 将要添加到集合的后期处理阶段。
返回值:
添加了后期处理阶段后的集合。
异常情况:
  • DeveloperError : 后处理阶段已经添加到集合中,或者没有唯一的名称。
contains(stage)Boolean
返回集合是否包含后期处理阶段。
Name Type Description
stage PostProcessStage | PostProcessStageComposite 要查询的后期处理阶段。
返回值:
集合是否包含后期处理阶段。
销毁此对象持有的WebGL资源。

一旦对象被销毁,它将不能在使用;调用除isDestroyed之外的任何函数都会导致DeveloperError异常。 因此,将返回值(undefined)赋给对象,如示例所示。
异常情况:
参考:
获取index处的后期处理阶段。
Name Type Description
index Number 后期处理阶段的索引。
返回值:
索引处的后期处理阶段。
isDestroyed()Boolean
如果该对象没被销毁,返回false。

如果该对象已经被销毁,使用isDestroyed 会触发 DeveloperError 异常。
返回值:
false
参考:
remove(stage)Boolean
从集合中移除后期处理阶段并销毁它。
Name Type Description
stage PostProcessStage | PostProcessStageComposite 将要从集合中移除的后期处理阶段。
返回值:
是否移除成功。
从集合中删除所有后期处理阶段并销毁它们。

其他API

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

相关阅读

麻辣GIS-Sailor

作者:

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

声明

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

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

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

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