PostProcessStageCollection

new Cesium.PostProcessStageCollection()

PostProcessStage 和/或 PostProcessStageComposite 的集合。

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

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

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

Members

基于水平的环境光遮蔽(HBAO)后处理阶段,应用于输入纹理。

环境光遮蔽模拟来自环境光的阴影。当表面接收光照时,无论光源位置如何,这些阴影始终存在。

统一变量具有以下属性:

  • intensity 是一个标量值,用于以指数方式加亮或加深阴影。值越高阴影越暗。默认值为 3.0
  • bias 是一个标量值,表示以弧度为单位的角度。如果样本法线与指向相机的向量之间的点积小于此值,则停止当前方向的采样。这用于消除近平面边缘的阴影。默认值为 0.1
  • lengthCap 是一个标量值,表示以米为单位的长度。如果当前样本到第一个样本的距离大于此值,则停止当前方向的采样。默认值为 0.26
  • directionCount 是光线步进搜索遮挡物时的方向数量。默认值为 8
  • stepCount 是每个方向上光线步进的步数。默认值为 32
  • randomTexture 是一个纹理,其红色通道包含 [0.0, 1.0] 范围内的随机值。默认值为 undefined。需要设置此纹理。
  • ambientOcclusionOnly 是一个布尔值。当 true 时,仅将生成的阴影写入输出。当 false 时,输入纹理会与环境光遮蔽调制。这是一个有用的调试选项,用于查看更改统一值的效果。默认值为 false

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

用于泛光效果的后处理阶段。

泛光效果会添加发光效果,使明亮区域更亮,暗区域更暗。

此阶段具有以下统一变量:contrastbrightnessglowOnlydeltasigmastepSize

  • contrast 是范围为 [-255.0, 255.0] 的标量值,影响效果的对比度。默认值为 128.0
  • brightness 是标量值。输入纹理的 RGB 值会转换为色相、饱和度和亮度(HSB),然后将此值加到亮度上。默认值为 -0.3
  • glowOnly 是布尔值。当 true 时,仅显示发光效果。当 false 时,发光效果会添加到输入纹理中。 默认值为 false。这是一个调试选项,用于查看更改其他统一值时的效果。

deltasigmastepSize 是与 PostProcessStageLibrary#createBlurStage 相同的属性。 模糊会应用于图像生成的阴影,使其更平滑。

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

控制 HDR 开启时的曝光。小于 1.0 会使色调映射变暗,大于 1.0 则使其变亮。
Default Value: 1.0
Example:
viewer.scene.postProcessStages.exposure = 1.0;
用于快速近似抗锯齿(FXAA)的后处理阶段。

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

集合中后处理阶段的数量。
确定集合中的所有后处理阶段是否已准备好执行。
指定使用高动态范围渲染时的色调映射算法。 Sandcastle 演示
Default Value: Tonemapper.PBR_NEUTRAL
Example:
viewer.scene.postProcessStages.tonemapper = Cesium.Tonemapper.ACES;

Methods

将后处理阶段添加到集合中。
Name Type Description
stage PostProcessStage | PostProcessStageComposite 要添加到集合中的后处理阶段。
Returns:
已添加到集合中的后处理阶段。
Throws:
  • DeveloperError : 后处理阶段已添加到集合中或名称不唯一。
返回集合是否包含指定的后处理阶段。
Name Type Description
stage PostProcessStage | PostProcessStageComposite 后处理阶段。
Returns:
集合是否包含该后处理阶段。
销毁此对象持有的WebGL资源。销毁对象可以确定性地释放WebGL资源,而非依赖垃圾回收器销毁此对象。

一旦对象被销毁,就不应再使用它;调用除 isDestroyed 之外的任何函数都会导致 DeveloperError 异常。因此, 应像示例中那样将返回值(undefined)赋给该对象。

Throws:
See:
获取指定 index 处的后处理阶段。
Name Type Description
index number 后处理阶段的索引。
Returns:
该索引处的后处理阶段。
如果此对象已被销毁则返回 true,否则返回 false。

如果此对象已被销毁,则不应再使用它;调用除 isDestroyed 之外的任何函数都会导致 DeveloperError 异常。

Returns:
如果此对象已被销毁则返回 true,否则返回 false
See:
从集合中移除后处理阶段并销毁它。
Name Type Description
stage PostProcessStage | PostProcessStageComposite 要从集合中移除的后处理阶段。
Returns:
后处理阶段是否已被移除。
从集合中移除所有后处理阶段并销毁它们。
Need help? The fastest way to get answers is from the community and team on the Cesium Forum.