Package | starling.filters |
Class | public class DisplacementMapFilter |
Inheritance | DisplacementMapFilter FragmentFilter EventDispatcher Object |
The filter uses the following formula:
dstPixel[x, y] = srcPixel[x + ((componentX(x, y) - 128) * scaleX) / 256, y + ((componentY(x, y) - 128) * scaleY) / 256]
Where componentX(x, y)
gets the componentX property color value from the
map texture at (x - mapX, y - mapY)
.
Per default, the filter allows the object to grow beyond its actual bounds to make
room for the displacement (depending on scaleX/Y
). If you want to clamp the
displacement to the actual object bounds, set all margins to zero via a call to
filter.padding.setTo()
. This works only with rectangular, stage-aligned
objects, though.
Property | Defined By | ||
---|---|---|---|
alwaysDrawToBackBuffer : Boolean Indicates if the last filter pass is always drawn directly to the back buffer. | FragmentFilter | ||
antiAliasing : int The anti-aliasing level. | FragmentFilter | ||
componentX : uint Describes which color channel to use in the map image to displace the x result. | DisplacementMapFilter | ||
componentY : uint Describes which color channel to use in the map image to displace the y result. | DisplacementMapFilter | ||
isCached : Boolean [read-only] Indicates if the filter is cached (via the cache method). | FragmentFilter | ||
mapRepeat : Boolean Indicates if pixels at the edge of the map texture will be repeated. | DisplacementMapFilter | ||
mapScaleX : Number The horizontal scale applied to the map texture. | DisplacementMapFilter | ||
mapScaleY : Number The vertical scale applied to the map texture. | DisplacementMapFilter | ||
mapTexture : Texture The texture that will be used to calculate displacement. | DisplacementMapFilter | ||
mapX : Number The horizontal offset of the map texture relative to the origin. | DisplacementMapFilter | ||
mapY : Number The vertical offset of the map texture relative to the origin. | DisplacementMapFilter | ||
numPasses : int [read-only] Indicates the number of rendering passes required for this filter. | FragmentFilter | ||
padding : Padding Padding can extend the size of the filter texture in all directions. | FragmentFilter | ||
resolution : Number The resolution of the filter texture. | FragmentFilter | ||
scaleX : Number The multiplier used to scale the x displacement result from the map calculation. | DisplacementMapFilter | ||
scaleY : Number The multiplier used to scale the y displacement result from the map calculation. | DisplacementMapFilter | ||
textureFormat : String The format of the filter texture. | FragmentFilter | ||
textureSmoothing : String The smoothing mode of the filter texture. | FragmentFilter |
Method | Defined By | ||
---|---|---|---|
DisplacementMapFilter(mapTexture:Texture, componentX:uint = 0, componentY:uint = 0, scaleX:Number = 0.0, scaleY:Number = 0.0) Creates a new displacement map filter that uses the provided map texture. | DisplacementMapFilter | ||
addEventListener(type:String, listener:Function):void Registers an event listener at a certain object. | EventDispatcher | ||
cache():void Caches the filter output into a texture. | FragmentFilter | ||
clearCache():void Clears the cached output of the filter. | FragmentFilter | ||
dispatchEvent(event:Event):void Dispatches an event to all objects that have registered listeners for its type. | EventDispatcher | ||
dispatchEventWith(type:String, bubbles:Boolean = false, data:Object = null):void Dispatches an event with the given parameters to all objects that have registered
listeners for the given type. | EventDispatcher | ||
dispose():void Disposes all resources that have been created by the filter. | FragmentFilter | ||
hasEventListener(type:String, listener:Function = null):Boolean If called with one argument, figures out if there are any listeners registered for
the given event type. | EventDispatcher | ||
process(painter:Painter, helper:IFilterHelper, input0:Texture = null, input1:Texture = null, input2:Texture = null, input3:Texture = null):Texture Does the actual filter processing. | FragmentFilter | ||
removeEventListener(type:String, listener:Function):void Removes an event listener from the object. | EventDispatcher | ||
removeEventListeners(type:String = null):void Removes all event listeners with a certain type, or all of them if type is null. | EventDispatcher | ||
Renders the filtered target object. | FragmentFilter |
componentX | property |
componentX:uint
Describes which color channel to use in the map image to displace the x result. Possible values are constants from the BitmapDataChannel class.
public function get componentX():uint
public function set componentX(value:uint):void
componentY | property |
componentY:uint
Describes which color channel to use in the map image to displace the y result. Possible values are constants from the BitmapDataChannel class.
public function get componentY():uint
public function set componentY(value:uint):void
mapRepeat | property |
mapRepeat:Boolean
Indicates if pixels at the edge of the map texture will be repeated. Note that this only works if the map texture is a power-of-two texture!
public function get mapRepeat():Boolean
public function set mapRepeat(value:Boolean):void
mapScaleX | property |
mapScaleX:Number
The horizontal scale applied to the map texture.
The default value is 1
.
public function get mapScaleX():Number
public function set mapScaleX(value:Number):void
mapScaleY | property |
mapScaleY:Number
The vertical scale applied to the map texture.
The default value is 1
.
public function get mapScaleY():Number
public function set mapScaleY(value:Number):void
mapTexture | property |
mapTexture:Texture
The texture that will be used to calculate displacement.
public function get mapTexture():Texture
public function set mapTexture(value:Texture):void
mapX | property |
mapX:Number
The horizontal offset of the map texture relative to the origin.
The default value is 0
.
public function get mapX():Number
public function set mapX(value:Number):void
mapY | property |
mapY:Number
The vertical offset of the map texture relative to the origin.
The default value is 0
.
public function get mapY():Number
public function set mapY(value:Number):void
scaleX | property |
scaleX:Number
The multiplier used to scale the x displacement result from the map calculation.
public function get scaleX():Number
public function set scaleX(value:Number):void
scaleY | property |
scaleY:Number
The multiplier used to scale the y displacement result from the map calculation.
public function get scaleY():Number
public function set scaleY(value:Number):void
DisplacementMapFilter | () | Constructor |
public function DisplacementMapFilter(mapTexture:Texture, componentX:uint = 0, componentY:uint = 0, scaleX:Number = 0.0, scaleY:Number = 0.0)
Creates a new displacement map filter that uses the provided map texture.
ParametersmapTexture:Texture — The texture containing the displacement map data.
| |
componentX:uint (default = 0 ) — Describes which color channel to use in the map image to displace
the x result. Possible values are the BitmapDataChannel constants.
| |
componentY:uint (default = 0 ) — Describes which color channel to use in the map image to displace
the y result. Possible values are the BitmapDataChannel constants.
| |
scaleX:Number (default = 0.0 ) — The multiplier used to scale the x displacement result.
| |
scaleY:Number (default = 0.0 ) — The multiplier used to scale the y displacement result.
|