PostProcessStage 和/或 PostProcessStageComposite 的集合。
每个后处理阶段的输入纹理是场景渲染到的纹理,或集合中上一个阶段渲染到的纹理。
如果环境光遮蔽(ambient occlusion)或泛光(bloom)阶段被启用,它们将在所有其他阶段之前执行。
如果 FXAA 阶段被启用,它将在所有其他阶段之后执行。
Members
readonly ambientOcclusion : PostProcessStageComposite
环境光遮蔽模拟来自环境光的阴影。当表面接收到光照时,无论光源位置如何,这些阴影始终存在。
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.
泛光效果会增加发光效果,使亮区域更亮、暗区域更暗。
此阶段具有以下 uniforms:contrast、brightness、glowOnly、
delta、sigma 和 stepSize。
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.
-
Default Value:
1.0
Example:
viewer.scene.postProcessStages.exposure = 1.0;
启用后,此阶段将在所有其他阶段之后执行。
-
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:
对象一旦被销毁就不应再使用;除
isDestroyed 之外的任何函数调用都将导致 DeveloperError 异常。因此,
应将返回值(undefined)赋给该对象,如示例所示。
Throws:
-
DeveloperError : 此对象已被销毁,即已调用 destroy()。
get(index) → PostProcessStage|PostProcessStageComposite
index 处的后处理阶段。
| Name | Type | Description |
|---|---|---|
index |
number | 后处理阶段的索引。 |
Returns:
如果此对象已被销毁,就不应再使用;除
isDestroyed 之外的任何函数调用都将导致 DeveloperError 异常。
Returns:
true,否则为 false。
| Name | Type | Description |
|---|---|---|
stage |
PostProcessStage | PostProcessStageComposite | 要从集合中移除的后处理阶段。 |
