PostProcessStage 和/或 PostProcessStageComposite 的集合。
每个后处理阶段的输入纹理是场景渲染到的纹理,或集合中前一个阶段渲染到的纹理。
如果启用了环境光遮蔽或泛光阶段,它们将在所有其他阶段之前执行。
如果启用了 FXAA 阶段,它将在所有其他阶段之后执行。
Members
readonly ambientOcclusion : PostProcessStageComposite
基于水平的环境光遮蔽(HBAO)后处理阶段,应用于输入纹理。
环境光遮蔽模拟来自环境光的阴影。当表面接收光照时,无论光源位置如何,这些阴影始终存在。
统一变量具有以下属性:
intensity是一个标量值,用于以指数方式加亮或加深阴影。值越高阴影越暗。默认值为3.0。bias是一个标量值,表示以弧度为单位的角度。如果样本法线与指向相机的向量之间的点积小于此值,则停止当前方向的采样。这用于消除近平面边缘的阴影。默认值为0.1。lengthCap是一个标量值,表示以米为单位的长度。如果当前样本到第一个样本的距离大于此值,则停止当前方向的采样。默认值为0.26。directionCount是光线步进搜索遮挡物时的方向数量。默认值为8。stepCount是每个方向上光线步进的步数。默认值为32。randomTexture是一个纹理,其红色通道包含 [0.0, 1.0] 范围内的随机值。默认值为undefined。需要设置此纹理。ambientOcclusionOnly是一个布尔值。当true时,仅将生成的阴影写入输出。当false时,输入纹理会与环境光遮蔽调制。这是一个有用的调试选项,用于查看更改统一值的效果。默认值为false。
启用时,此阶段将在所有其他阶段之前执行。
用于泛光效果的后处理阶段。
泛光效果会添加发光效果,使明亮区域更亮,暗区域更暗。
此阶段具有以下统一变量:contrast、brightness、glowOnly、
delta、sigma 和 stepSize。
contrast是范围为 [-255.0, 255.0] 的标量值,影响效果的对比度。默认值为128.0。brightness是标量值。输入纹理的 RGB 值会转换为色相、饱和度和亮度(HSB),然后将此值加到亮度上。默认值为-0.3。glowOnly是布尔值。当true时,仅显示发光效果。当false时,发光效果会添加到输入纹理中。 默认值为false。这是一个调试选项,用于查看更改其他统一值时的效果。
delta、sigma 和 stepSize 是与 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
add(stage) → PostProcessStage|PostProcessStageComposite
将后处理阶段添加到集合中。
| Name | Type | Description |
|---|---|---|
stage |
PostProcessStage | PostProcessStageComposite | 要添加到集合中的后处理阶段。 |
Returns:
已添加到集合中的后处理阶段。
Throws:
-
DeveloperError : 后处理阶段已添加到集合中或名称不唯一。
返回集合是否包含指定的后处理阶段。
| Name | Type | Description |
|---|---|---|
stage |
PostProcessStage | PostProcessStageComposite | 后处理阶段。 |
Returns:
集合是否包含该后处理阶段。
销毁此对象持有的WebGL资源。销毁对象可以确定性地释放WebGL资源,而非依赖垃圾回收器销毁此对象。
一旦对象被销毁,就不应再使用它;调用除 isDestroyed 之外的任何函数都会导致 DeveloperError 异常。因此,
应像示例中那样将返回值(undefined)赋给该对象。
Throws:
-
DeveloperError : 此对象已被销毁,即已调用destroy()。
get(index) → PostProcessStage|PostProcessStageComposite
获取指定
index 处的后处理阶段。
| Name | Type | Description |
|---|---|---|
index |
number | 后处理阶段的索引。 |
Returns:
该索引处的后处理阶段。
如果此对象已被销毁则返回 true,否则返回 false。
如果此对象已被销毁,则不应再使用它;调用除 isDestroyed 之外的任何函数都会导致 DeveloperError 异常。
Returns:
如果此对象已被销毁则返回
true,否则返回 false。
从集合中移除后处理阶段并销毁它。
| Name | Type | Description |
|---|---|---|
stage |
PostProcessStage | PostProcessStageComposite | 要从集合中移除的后处理阶段。 |
Returns:
后处理阶段是否已被移除。
从集合中移除所有后处理阶段并销毁它们。
