public class SingleFilterEffect extends FilterEffect
Modifier and Type | Field and Description |
---|---|
protected FilterFunction |
mFunction |
protected String |
mInputName |
protected String |
mOutputName |
mEffectContext
Constructor and Description |
---|
SingleFilterEffect(EffectContext context,
String name,
Class filterClass,
String inputName,
String outputName,
Object... finalParameters)
Constructs a new FilterFunctionEffect.
|
Modifier and Type | Method and Description |
---|---|
void |
apply(int inputTexId,
int width,
int height,
int outputTexId)
Apply an effect to GL textures.
|
void |
release()
Release an effect.
|
void |
setParameter(String parameterKey,
Object value)
Set a filter parameter.
|
beginGLEffect, endGLEffect, frameFromTexture, getFilterContext, getName
setUpdateListener
protected FilterFunction mFunction
protected String mInputName
protected String mOutputName
public SingleFilterEffect(EffectContext context, String name, Class filterClass, String inputName, String outputName, Object... finalParameters)
name
- The name of this effect (used to create it in the EffectFactory).filterClass
- The class of the filter to wrap.inputName
- The name of the input image port.outputName
- The name of the output image port.finalParameters
- Key-value pairs of final input port assignments.public void apply(int inputTexId, int width, int height, int outputTexId)
Effect
Apply the Effect on the specified input GL texture, and write the result into the output GL texture. The texture names passed must be valid in the current GL context.
The input texture must be a valid texture name with the given width and height and must be bound to a GL_TEXTURE_2D texture image (usually done by calling the glTexImage2D() function). Multiple mipmap levels may be provided.
If the output texture has not been bound to a texture image, it will be automatically bound by the effect as a GL_TEXTURE_2D. It will contain one mipmap level (0), which will have the same size as the input. No other mipmap levels are defined. If the output texture was bound already, and its size does not match the input texture size, the result may be clipped or only partially fill the texture.
Note, that regardless of whether a texture image was originally provided or not, both the input and output textures are owned by the caller. That is, the caller is responsible for calling glDeleteTextures() to deallocate the input and output textures.
public void setParameter(String parameterKey, Object value)
Effect
setParameter
in class Effect
parameterKey
- The name of the parameter to adjust.value
- The new value to set the parameter to.public void release()
Effect
Releases the effect and any resources associated with it. You may call this if you need to make sure acquired resources are no longer held by the effect. Releasing an effect makes it invalid for reuse.
Note that this method must be called with the EffectContext and EGL context current, as the effect may release internal GL resources.