project.android.imageprocessing.filter
Class GenericFilter

java.lang.Object
  extended by project.android.imageprocessing.GLRenderer
      extended by project.android.imageprocessing.input.GLTextureOutputRenderer
          extended by project.android.imageprocessing.filter.BasicFilter
              extended by project.android.imageprocessing.filter.GenericFilter
All Implemented Interfaces:
GLTextureInputRenderer

public class GenericFilter
extends BasicFilter

An extension of BasicFilter. This class provides a generic filter that can be used to create any single pass filter. The fragment and vertex shaders must be set or it will default to the basicfilter shaders. Any other parameter required for the shaders can be added to the generic filter using the add methods provided.

Author:
Chris Batt

Field Summary
 
Fields inherited from class project.android.imageprocessing.GLRenderer
ATTRIBUTE_POSITION, ATTRIBUTE_TEXCOORD, UNIFORM_TEXTURE0, VARYING_TEXCOORD
 
Constructor Summary
GenericFilter()
          Creates a GenericFilter with the BasicFilter shaders.
 
Method Summary
 void addUniformFloat(java.lang.String name, float value)
          Adds an float value parameter to the shader.
 void addUniformFloatArray(java.lang.String name, float[] value)
          Adds an float array value parameter to the shader.
 void addUniformInteger(java.lang.String name, int value)
          Adds an integer value parameter to the shader.
 void addUniformMat3(java.lang.String name, float[] value)
          Adds an mat3 value parameter to the shader.
 void addUniformMat4(java.lang.String name, float[] value)
          Adds an mat4 value parameter to the shader.
 void addUniformVec2(java.lang.String name, android.graphics.PointF value)
          Adds an vec2 value parameter to the shader.
 void addUniformVec3(java.lang.String name, float[] value)
          Adds an vec3 value parameter to the shader.
 void addUniformVec4(java.lang.String name, float[] value)
          Adds an vec4 value parameter to the shader.
 void setFragmentShader(java.lang.String fragmentShader)
          Sets the fragment shader to be used for this program.
 void setVertexShader(java.lang.String vertexShader)
          Sets the vertex shader to be used for this program.
 
Methods inherited from class project.android.imageprocessing.filter.BasicFilter
newTextureReady
 
Methods inherited from class project.android.imageprocessing.input.GLTextureOutputRenderer
addTarget, destroy, getLockObject, getTargets, removeTarget
 
Methods inherited from class project.android.imageprocessing.GLRenderer
getBackgroundAlpha, getBackgroundBlue, getBackgroundGreen, getBackgroundRed, getHeight, getWidth, onDrawFrame, reInitialize, rotateClockwise90Degrees, rotateCounterClockwise90Degrees, setBackgroundAlpha, setBackgroundBlue, setBackgroundColour, setBackgroundGreen, setBackgroundRed, setRenderSize
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

GenericFilter

public GenericFilter()
Creates a GenericFilter with the BasicFilter shaders.

Method Detail

addUniformInteger

public void addUniformInteger(java.lang.String name,
                              int value)
Adds an integer value parameter to the shader.

Parameters:
name - The uniform name that is used in the shader to reference this value.
value - The value that should be used for this name.

addUniformFloat

public void addUniformFloat(java.lang.String name,
                            float value)
Adds an float value parameter to the shader.

Parameters:
name - The uniform name that is used in the shader to reference this value.
value - The value that should be used for this name.

addUniformVec2

public void addUniformVec2(java.lang.String name,
                           android.graphics.PointF value)
Adds an vec2 value parameter to the shader.

Parameters:
name - The uniform name that is used in the shader to reference this value.
value - The value that should be used for this name.

addUniformVec3

public void addUniformVec3(java.lang.String name,
                           float[] value)
Adds an vec3 value parameter to the shader.

Parameters:
name - The uniform name that is used in the shader to reference this value.
value - The value that should be used for this name.

addUniformVec4

public void addUniformVec4(java.lang.String name,
                           float[] value)
Adds an vec4 value parameter to the shader.

Parameters:
name - The uniform name that is used in the shader to reference this value.
value - The value that should be used for this name.

addUniformMat3

public void addUniformMat3(java.lang.String name,
                           float[] value)
Adds an mat3 value parameter to the shader.

Parameters:
name - The uniform name that is used in the shader to reference this value.
value - The value that should be used for this name.

addUniformMat4

public void addUniformMat4(java.lang.String name,
                           float[] value)
Adds an mat4 value parameter to the shader.

Parameters:
name - The uniform name that is used in the shader to reference this value.
value - The value that should be used for this name.

addUniformFloatArray

public void addUniformFloatArray(java.lang.String name,
                                 float[] value)
Adds an float array value parameter to the shader.

Parameters:
name - The uniform name that is used in the shader to reference this value.
value - The value that should be used for this name.

setFragmentShader

public void setFragmentShader(java.lang.String fragmentShader)
Sets the fragment shader to be used for this program. If this is changed during filter processing, it will be updated on the next drawing pass.

Parameters:
fragmentShader - The fragment shader to use.

setVertexShader

public void setVertexShader(java.lang.String vertexShader)
Sets the vertex shader to be used for this program. If this is changed during filter processing, it will be updated on the next drawing pass.

Parameters:
vertexShader - The vertex shader to use.