Create a new BlurFilter. For each blur direction, the number of required passes is
The blur is rendered for each direction (x and y) separately; the number of
draw calls add up. The blur value itself is internally multiplied with the current
contentScaleFactor
in order to guarantee a consistent look on HiDPI
displays (dubbed 'totalBlur' below).
The number of draw calls per blur value is the following:
Indicates if the last filter pass is always drawn directly to the back buffer.
Per default, the filter tries to automatically render in a smart way: objects that are currently moving are rendered to the back buffer, objects that are static are rendered into a texture first, which allows the filter to be drawn directly from the render cache in the next frame (in case the object remains static).
However, this fails when filters are added to an object that does not support the render cache, or to a container with such a child (e.g. a Sprite3D object or a masked display object). In such a case, enable this property for maximum performance.
@default false
The anti-aliasing level. This is only used for rendering the target object into a texture, not for the filter passes. 0 - none, 4 - maximum. @default 0
The blur factor in x-direction.
The number of required passes will be Math.ceil(value)
.
The blur factor in y-direction.
The number of required passes will be Math.ceil(value)
.
Indicates if the filter is cached (via the cache
method).
Indicates if the filter requires all passes to be processed with the exact same resolution.
Some filters must use the same resolution for input and output; e.g. the blur filter
is very sensitive to changes of pixel / texel sizes. When the filter is used as part
of a filter chain, or if its last pass is drawn directly to the back buffer, such a
filter produces artifacts. In that case, the filter author must set this property
to true
.
@default false
Padding can extend the size of the filter texture in all directions. That's useful when the filter "grows" the bounds of the object in any direction.
The quality of the blur effect. Low values will look as if the target was drawn multiple times in close proximity (range: 0.1 - 1).
Typically, it's better to reduce the filter resolution instead; however, if that is not an option (e.g. when using the BlurFilter as part of a composite filter), this property may provide an alternative.
@default 1.0
The resolution of the filter texture. "1" means stage resolution, "0.5" half the stage resolution. A lower resolution saves memory and execution time, but results in a lower output quality. Values greater than 1 are allowed; such values might make sense for a cached filter when it is scaled up. @default 1
The format of the filter texture. @default BGRA
The smoothing mode of the filter texture. @default bilinear
The blur values scaled by the current contentScaleFactor.
Caches the filter output into a texture.
An uncached filter is rendered every frame (except if it can be rendered from the
global render cache, which happens if the target object does not change its appearance
or location relative to the stage). A cached filter is only rendered once; the output
stays unchanged until you call cache
again or change the filter settings.
Beware: you cannot cache filters on 3D objects; if the object the filter is attached to is a Sprite3D or has a Sprite3D as (grand-) parent, the request will be silently ignored. However, you can cache a 2D object that has 3D children!
Clears the cached output of the filter. After calling this method, the filter will be processed once per frame again.
Dispatches an event to all objects that have registered listeners for its type. If an event with enabled 'bubble' property is dispatched to a display object, it will travel up along the line of parents, until it either hits the root object or someone stops its propagation manually.
Dispatches an event with the given parameters to all objects that have registered listeners for the given type. The method uses an internal pool of event objects to avoid allocations.
Disposes all resources that have been created by the filter.
If called with one argument, figures out if there are any listeners registered for the given event type. If called with two arguments, also determines if a specific listener is registered.
Removes all event listeners with a certain type, or all of them if type is null. Be careful when removing all event listeners: you never know who else was listening.
Renders the filtered target object. Most users will never have to call this manually; it's executed automatically in the rendering process of the filtered display object.
Generated using TypeDoc
The BlurFilter applies a Gaussian blur to an object. The strength of the blur can be set for x- and y-axis separately.