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
-
A post-process stage that applies Horizon-based Ambient Occlusion (HBAO) to the input texture.
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
, andblurStepSize
.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
, andblurStepSize
are the same properties asPostProcessStageLibrary#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.
-
A post-process stage for a bloom effect.
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
, andstepSize
.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
, andstepSize
are the same properties asPostProcessStageLibrary#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.
-
A post-process stage for Fast Approximate Anti-aliasing.
When enabled, this stage will execute after all others.
-
The number of post-process stages in this collection.
-
Determines if all of the post-process stages in the collection are ready to be executed.
-
是否开启反走样功能。
Methods
-
Adds the post-process stage to the collection.
Name Type Description stage
PostProcessStage | PostProcessStageComposite The post-process stage to add to the collection. Returns:
The post-process stage that was added to the collection.Throws:
-
DeveloperError : The post-process stage has already been added to the collection or does not have a unique name.
-
-
Returns whether the collection contains a post-process stage.
Name Type Description stage
PostProcessStage | PostProcessStageComposite The post-process stage. Returns:
Whether the collection contains the post-process stage. -
Destroys the WebGL resources held by this object. Destroying an object allows for deterministic release of WebGL resources, instead of relying on the garbage collector to destroy this object.
Once an object is destroyed, it should not be used; calling any function other than
isDestroyed
will result in aDeveloperError
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.
-
-
Gets the post-process stage at
index
.Name Type Description index
Number The index of the post-process stage. Returns:
The post-process stage at index. -
Returns true if this object was destroyed; otherwise, false.
If this object was destroyed, it should not be used; calling any function other than
isDestroyed
will result in aDeveloperError
exception.Returns:
true
if this object was destroyed; otherwise,false
. -
Removes a post-process stage from the collection and destroys it.
Name Type Description stage
PostProcessStage | PostProcessStageComposite The post-process stage to remove from the collection. Returns:
Whether the post-process stage was removed. -
Removes all post-process stages from the collection and destroys them.