PostProcessStage
s and/or PostProcessStageComposite
s.
The input texture for each post-process stage is the texture rendered to by the scene or the texture rendered to by the previous stage in the collection.
If the ambient occlusion or bloom stages are enabled, they will execute before all other stages.
If the FXAA stage is enabled, it will execute after all other stages.
Members
readonly ambientOcclusion : PostProcessStageComposite
Ambient occlusion simulates shadows from ambient light. These shadows would always be present when the surface receives light and regardless of the light's position.
The uniforms have the following properties: intensity
, bias
, lengthCap
,
stepSize
, frustumLength
, ambientOcclusionOnly
,
delta
, sigma
, and blurStepSize
.
intensity
is a scalar value used to lighten or darken the shadows exponentially. Higher values make the shadows darker. The default value is3.0
.bias
is a scalar value representing an angle in radians. If the dot product between the normal of the sample and the vector to the camera is less than this value, sampling stops in the current direction. This is used to remove shadows from near planar edges. The default value is0.1
.lengthCap
is a scalar value representing a length in meters. If the distance from the current sample to first sample is greater than this value, sampling stops in the current direction. The default value is0.26
.stepSize
is a scalar value indicating the distance to the next texel sample in the current direction. The default value is1.95
.frustumLength
is a scalar value in meters. If the current fragment has a distance from the camera greater than this value, ambient occlusion is not computed for the fragment. The default value is1000.0
.ambientOcclusionOnly
is a boolean value. Whentrue
, only the shadows generated are written to the output. Whenfalse
, the input texture is modulated with the ambient occlusion. This is a useful debug option for seeing the effects of changing the uniform values. The default value isfalse
.
delta
, sigma
, and blurStepSize
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.
readonly bloom : PostProcessStageComposite
A bloom effect adds glow effect, makes bright areas brighter, and dark areas darker.
This stage has the following uniforms: contrast
, brightness
, glowOnly
,
delta
, sigma
, and stepSize
.
contrast
is a scalar value in the range [-255.0, 255.0] and affects the contract of the effect. The default value is128.0
.brightness
is a scalar value. The input texture RGB value is converted to hue, saturation, and brightness (HSB) then this value is added to the brightness. The default value is-0.3
.glowOnly
is a boolean value. Whentrue
, only the glow effect will be shown. Whenfalse
, the glow will be added to the input texture. The default value isfalse
. This is a debug option for viewing the effects when changing the other uniform values.
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;
When enabled, this stage will execute after all others.
-
Default Value:
Tonemapper.PBR_NEUTRAL
Example:
viewer.scene.postProcessStages.tonemapper = Cesium.Tonemapper.ACES;
Methods
add(stage) → PostProcessStage|PostProcessStageComposite
Name | Type | Description |
---|---|---|
stage |
PostProcessStage | PostProcessStageComposite | The post-process stage to add to the collection. |
Returns:
Throws:
-
DeveloperError : The post-process stage has already been added to the collection or does not have a unique name.
Name | Type | Description |
---|---|---|
stage |
PostProcessStage | PostProcessStageComposite | The post-process stage. |
Returns:
Once an object is destroyed, it should not be used; calling any function other than
isDestroyed
will result in a DeveloperError
exception. Therefore,
assign the return value (undefined
) to the object as done in the example.
Throws:
-
DeveloperError : This object was destroyed, i.e., destroy() was called.
get(index) → PostProcessStage|PostProcessStageComposite
index
.
Name | Type | Description |
---|---|---|
index |
number | The index of the post-process stage. |
Returns:
If this object was destroyed, it should not be used; calling any function other than
isDestroyed
will result in a DeveloperError
exception.
Returns:
true
if this object was destroyed; otherwise, false
.
Name | Type | Description |
---|---|---|
stage |
PostProcessStage | PostProcessStageComposite | The post-process stage to remove from the collection. |