PostProcessStageCollection

new Cesium.PostProcessStageCollection()

PostProcessStage 和/或 PostProcessStageComposite 的集合。

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

如果环境光遮蔽(ambient occlusion)或泛光(bloom)阶段被启用,它们将在所有其他阶段之前执行。

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

Members

一个对输入纹理应用基于地平线的环境光遮蔽(HBAO)的后处理阶段。

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

uniforms 具有以下属性:

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

When enabled, this stage will execute before all others.

一个用于泛光(bloom)效果的后处理阶段。

泛光效果会增加发光效果,使亮区域更亮、暗区域更暗。

此阶段具有以下 uniforms:contrastbrightnessglowOnlydeltasigmastepSize

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

delta, sigma, and stepSize are the same properties as PostProcessStageLibrary#createBlurStage. The blur is applied to the shadows generated from the image to make them smoother.

When enabled, this stage will execute before all others.

在 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:
后处理阶段是否被移除。
从集合中移除所有后处理阶段并销毁它们。
需要帮助?获取答案的最快方式是在 Cesium 论坛 上向社区和团队提问。