public interface RenderState
Effect.filter()
operation and it is queried for
various pieces of information required to perform that operation including,
but not limited to, the coordinate space to be used for the child input
Effect
operations and the coordinate transform to be applied to
the resulting final ImageData
object produced as the result of that
filter operation. Some effect-specific subclasses may also plan and supply
information about how the various pixels are to be computed in the inner
loops of the effect filter algorithm.Modifier and Type | Interface and Description |
---|---|
static class |
RenderState.EffectCoordinateSpace
This enum characterizes the types of coordinate spaces that will be
used for the filter operation (i.e.
|
Modifier and Type | Field and Description |
---|---|
static RenderState |
RenderSpaceRenderState
A helper implementation of
RenderState that handles the
case of EffectCoordinateSpace.RenderSpace and passes along
the outputClip to the inputs unmodified. |
static RenderState |
UnclippedUserSpaceRenderState
A helper implementation of
RenderState that handles the
case of EffectCoordinateSpace.UserSpace and passes along
the outputClip to the inputs unmodified. |
static RenderState |
UserSpaceRenderState
A helper implementation of
RenderState that handles the
case of EffectCoordinateSpace.UserSpace and passes along
the outputClip to the inputs unmodified. |
Modifier and Type | Method and Description |
---|---|
RenderState.EffectCoordinateSpace |
getEffectTransformSpace()
Return a hint indicating which coordinate space should be used for
the pixel filtering for this particular filtering operation.
|
Rectangle |
getInputClip(int i,
Rectangle filterClip)
Return the clip for the indicated input based on the indicated output
clip.
|
BaseTransform |
getInputTransform(BaseTransform filterTransform)
Return the transform that should be used to obtain pixel input from the
Effect inputs for this filter operation. |
BaseTransform |
getResultTransform(BaseTransform filterTransform)
Return the transform that should be used to transform the results of
the filter operation.
|
static final RenderState UserSpaceRenderState
RenderState
that handles the
case of EffectCoordinateSpace.UserSpace
and passes along
the outputClip to the inputs unmodified.static final RenderState UnclippedUserSpaceRenderState
RenderState
that handles the
case of EffectCoordinateSpace.UserSpace
and passes along
the outputClip to the inputs unmodified.static final RenderState RenderSpaceRenderState
RenderState
that handles the
case of EffectCoordinateSpace.RenderSpace
and passes along
the outputClip to the inputs unmodified.RenderState.EffectCoordinateSpace getEffectTransformSpace()
getEffectTransform()
and getResultTransform()
methods will always be used to get the actual
transforms to be used to get input data and transform the results, but
this method can help to set the expectations of the caller to optimize
techniques.EffectSpace
value to describe the expected output
from the getEffectTransform(...)
and getResultTransform(...)
methods.BaseTransform getInputTransform(BaseTransform filterTransform)
Effect
inputs for this filter operation.
The returned transform is handed to all input Effect
objects
to obtain pixel data for the inputs.
Typically, the output of getInputTransform(transform)
and
getResultTransform(transform)
could be concatenated to produce
the original filterTransform
.filterTransform
- the BaseTransform
object for the filter operationBaseTransform
object to use for the input effectsBaseTransform getResultTransform(BaseTransform filterTransform)
getInputTransform(transform)
and
getResultTransform(transform)
could be concatenated to produce
the original filterTransform
.filterTransform
- the BaseTransform
object for the filter operationBaseTransform
object to be applied to the result
textureRectangle getInputClip(int i, Rectangle filterClip)
i
- the index of the input being processedfilterClip
- the output clip supplied to the given filter operation