codeanticode.glgraphics
Class GLTextureFilter

java.lang.Object
  extended by codeanticode.glgraphics.GLTextureFilter
All Implemented Interfaces:
processing.core.PConstants

public class GLTextureFilter
extends java.lang.Object
implements processing.core.PConstants

This class defines a 2D filter to apply on GLTexture objects. A filter is basically a glsl shader program with a set of predefined uniform attributes and a 2D grid where the input textures are mapped on. The points of the 2D grid can be altered in the vertex stage of the filter, allowing for arbitrary distorsions in the shape of the mesh. The filter is specified in a xml file where the files names of the vertex and fragment shaders stored, as well as the definition of the grid (resolution and spacing).


Field Summary
 
Fields inherited from interface processing.core.PConstants
A, AB, ADD, AG, ALPHA, ALPHA_MASK, ALT, AMBIENT, AR, ARC, ARGB, ARROW, B, BACKSPACE, BASELINE, BEEN_LIT, BEVEL, BLEND, BLUE_MASK, BLUR, BOTTOM, BOX, BURN, CENTER, CENTER_DIAMETER, CENTER_RADIUS, CHATTER, CLOSE, CMYK, CODED, COMPLAINT, CONTROL, CORNER, CORNERS, CROSS, CUSTOM, DA, DARKEST, DB, DEG_TO_RAD, DELETE, DG, DIAMETER, DIFFERENCE, DILATE, DIRECTIONAL, DISABLE_ACCURATE_TEXTURES, DISABLE_DEPTH_SORT, DISABLE_DEPTH_TEST, DISABLE_OPENGL_2X_SMOOTH, DISABLE_OPENGL_ERROR_REPORT, DODGE, DOWN, DR, DXF, EB, EDGE, EG, ELLIPSE, ENABLE_ACCURATE_TEXTURES, ENABLE_DEPTH_SORT, ENABLE_DEPTH_TEST, ENABLE_NATIVE_FONTS, ENABLE_OPENGL_2X_SMOOTH, ENABLE_OPENGL_4X_SMOOTH, ENABLE_OPENGL_ERROR_REPORT, ENTER, EPSILON, ER, ERODE, ERROR_BACKGROUND_IMAGE_FORMAT, ERROR_BACKGROUND_IMAGE_SIZE, ERROR_PUSHMATRIX_OVERFLOW, ERROR_PUSHMATRIX_UNDERFLOW, ERROR_TEXTFONT_NULL_PFONT, ESC, EXCLUSION, G, GIF, GRAY, GREEN_MASK, HALF_PI, HAND, HARD_LIGHT, HINT_COUNT, HSB, IMAGE, INVERT, JAVA2D, JPEG, LEFT, LIGHTEST, LINE, LINES, LINUX, MACOSX, MAX_FLOAT, MAX_INT, MIN_FLOAT, MIN_INT, MITER, MODEL, MOVE, MULTIPLY, NORMAL, NORMALIZED, NX, NY, NZ, OPAQUE, OPEN, OPENGL, ORTHOGRAPHIC, OTHER, OVERLAY, P2D, P3D, PATH, PDF, PERSPECTIVE, PI, platformNames, POINT, POINTS, POLYGON, POSTERIZE, PROBLEM, PROJECT, QUAD, QUAD_STRIP, QUADS, QUARTER_PI, R, RAD_TO_DEG, RADIUS, RECT, RED_MASK, REPLACE, RETURN, RGB, RIGHT, ROUND, SA, SB, SCREEN, SG, SHAPE, SHIFT, SHINE, SOFT_LIGHT, SPB, SPG, SPHERE, SPOT, SPR, SQUARE, SR, SUBTRACT, SW, TAB, TARGA, TEXT, THIRD_PI, THRESHOLD, TIFF, TOP, TRIANGLE, TRIANGLE_FAN, TRIANGLE_STRIP, TRIANGLES, TWO_PI, TX, TY, TZ, U, UP, V, VERTEX_FIELD_COUNT, VW, VX, VY, VZ, WAIT, WHITESPACE, WINDOWS, X, Y, Z
 
Constructor Summary
GLTextureFilter()
          Default constructor.
GLTextureFilter(processing.core.PApplet parent, java.lang.String filename)
          Creates an instance of GLTextureFilter, loading the filter from filename.
 
Method Summary
 void apply(GLTexture[] srcTex, GLTexture destTex)
          Applies the shader program on textures srcTex, writing the output to the texture destTex.
 void apply(GLTexture[] srcTex, GLTexture[] destTex)
          Applies the shader program on textures srcTex, writing the output to the textures destTex.
 void apply(GLTexture[] srcTex, GLTexture[] destTex, float fade)
          Applies the shader program on textures srcTex, writing the output to the textures destTex.
 void apply(GLTexture[] srcTex, GLTexture destTex, float fade)
          Applies the shader program on textures srcTex, writing the output to the texture destTex.
 void apply(GLTexture srcTex, GLTexture destTex)
          Applies the shader program on texture srcTex, writing the output to the texture destTex.
 void apply(GLTexture srcTex, GLTexture destTex, float fade)
          Applies the shader program on texture srcTex, writing the output to the texture destTex.
 java.lang.String getDescription()
          Returns the description of the filter.
 int getNumInputTextures()
          Returns the maximum number of input or source textures supported by this filter.
 int getNumOutputTextures()
          Returns the maximum number of output or destination textures supported by this filter.
 codeanticode.glgraphics.GLTextureFilterParameter getParameter(int i)
          Returns the i-th parameter.
 codeanticode.glgraphics.GLTextureFilterParameter getParameter(java.lang.String paramName)
          Returns the parameter with the provided name.
 int getParameterCount()
          Get number of parameters.
 java.lang.String getParameterLabel(int i)
          Returns the label of the i-th parameter.
 java.lang.String getParameterName(int i)
          Returns the name of the i-th parameter.
 int getParameterType(int i)
          Returns the type of the i-th parameter.
 void noBlend()
          Disables blending.
 void setBlendMode(int MODE)
          Enables blending and sets the mode.
 void setParameterValue(int n, float value)
          Sets the parameter value when the type is float.
 void setParameterValue(int n, float[] value)
          Sets the parameter value for any type.
 void setParameterValue(int n, int value)
          Sets the parameter value when the type is int.
 void setParameterValue(int n, int i, float value)
          Sets the ith value for the parameter (only valid for vec or mat types).
 void setParameterValue(int n, int i, int j, float value)
          Sets the (ith, jth) value for the parameter (only valid for mat types).
 void setParameterValue(java.lang.String paramName, float value)
          Sets the parameter value when the type is float.
 void setParameterValue(java.lang.String paramName, float[] value)
          Sets the parameter value for any type.
 void setParameterValue(java.lang.String paramName, int value)
          Sets the parameter value when the type is int.
 void setParameterValue(java.lang.String paramName, int i, float value)
          Sets the ith value for the parameter (only valid for vec or mat types).
 void setParameterValue(java.lang.String paramName, int i, int j, float value)
          Sets the (ith, jth) value for the parameter (only valid for mat types).
 void setParameterValues(float[]... values)
          Sets all the value for all the parameters, by means of a parameter list of variable length.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

GLTextureFilter

public GLTextureFilter()
Default constructor.


GLTextureFilter

public GLTextureFilter(processing.core.PApplet parent,
                       java.lang.String filename)
Creates an instance of GLTextureFilter, loading the filter from filename.

Parameters:
parent - PApplet
filename - String
Method Detail

getDescription

public java.lang.String getDescription()
Returns the description of the filter.

Returns:
String

getNumInputTextures

public int getNumInputTextures()
Returns the maximum number of input or source textures supported by this filter. It can be called with less than that number

Returns:
int

getNumOutputTextures

public int getNumOutputTextures()
Returns the maximum number of output or destination textures supported by this filter.

Returns:
int

apply

public void apply(GLTexture srcTex,
                  GLTexture destTex)
Applies the shader program on texture srcTex, writing the output to the texture destTex. Sets fade constant to 1.

Parameters:
srcTex - GLTexture
destTex - GLTexture

apply

public void apply(GLTexture srcTex,
                  GLTexture destTex,
                  float fade)
Applies the shader program on texture srcTex, writing the output to the texture destTex.

Parameters:
srcTex - GLTexture
destTex - GLTexture
fade - float

apply

public void apply(GLTexture[] srcTex,
                  GLTexture destTex)
Applies the shader program on textures srcTex, writing the output to the texture destTex. Sets fade constant to 1.

Parameters:
srcTex - GLTexture[]
destTex - GLTexture

apply

public void apply(GLTexture[] srcTex,
                  GLTexture destTex,
                  float fade)
Applies the shader program on textures srcTex, writing the output to the texture destTex.

Parameters:
srcTex - GLTexture[]
destTex - GLTexture
fade - float

apply

public void apply(GLTexture[] srcTex,
                  GLTexture[] destTex)
Applies the shader program on textures srcTex, writing the output to the textures destTex. Sets fade constant to 1.

Parameters:
srcTex - GLTexture[]
destTex - GLTexture[]

apply

public void apply(GLTexture[] srcTex,
                  GLTexture[] destTex,
                  float fade)
Applies the shader program on textures srcTex, writing the output to the textures destTex.

Parameters:
srcTex - GLTexture[]
destTex - GLTexture[]
fade - float

noBlend

public void noBlend()
Disables blending.


setBlendMode

public void setBlendMode(int MODE)
Enables blending and sets the mode.

Parameters:
MODE - int

setParameterValue

public void setParameterValue(java.lang.String paramName,
                              int value)
Sets the parameter value when the type is int.

Parameters:
String - paramName
int - value

setParameterValue

public void setParameterValue(java.lang.String paramName,
                              float value)
Sets the parameter value when the type is float.

Parameters:
String - paramName
float - value

setParameterValue

public void setParameterValue(java.lang.String paramName,
                              float[] value)
Sets the parameter value for any type. When the type is int or float, the first element of the value array is considered.

Parameters:
String - paramName
value - float[]

setParameterValue

public void setParameterValue(java.lang.String paramName,
                              int i,
                              float value)
Sets the ith value for the parameter (only valid for vec or mat types).

Parameters:
String - paramName
int - i
value - float

setParameterValue

public void setParameterValue(java.lang.String paramName,
                              int i,
                              int j,
                              float value)
Sets the (ith, jth) value for the parameter (only valid for mat types).

Parameters:
String - paramName
int - i
int - j
value - float

setParameterValues

public void setParameterValues(float[]... values)
Sets all the value for all the parameters, by means of a parameter list of variable length. values is an array of float[].

Parameters:
float[] - values

getParameterCount

public int getParameterCount()
Get number of parameters.

Returns:
int

getParameterType

public int getParameterType(int i)
Returns the type of the i-th parameter.

Returns:
int

getParameterName

public java.lang.String getParameterName(int i)
Returns the name of the i-th parameter.

Returns:
String

getParameterLabel

public java.lang.String getParameterLabel(int i)
Returns the label of the i-th parameter.

Returns:
String

getParameter

public codeanticode.glgraphics.GLTextureFilterParameter getParameter(int i)
Returns the i-th parameter.

Returns:
GLTextureFilterParameter

setParameterValue

public void setParameterValue(int n,
                              int value)
Sets the parameter value when the type is int.

Parameters:
int - n
int - value

setParameterValue

public void setParameterValue(int n,
                              float value)
Sets the parameter value when the type is float.

Parameters:
int - n
float - value

setParameterValue

public void setParameterValue(int n,
                              float[] value)
Sets the parameter value for any type. When the type is int or float, the first element of the value array is considered.

Parameters:
int - n
value - float[]

setParameterValue

public void setParameterValue(int n,
                              int i,
                              float value)
Sets the ith value for the parameter (only valid for vec or mat types).

Parameters:
int - n
int - i
value - float

setParameterValue

public void setParameterValue(int n,
                              int i,
                              int j,
                              float value)
Sets the (ith, jth) value for the parameter (only valid for mat types).

Parameters:
int - n
int - i
int - j
value - float

getParameter

public codeanticode.glgraphics.GLTextureFilterParameter getParameter(java.lang.String paramName)
Returns the parameter with the provided name.

Returns:
GLTextureFilterParameter


processing library glgraphics by Andres Colubri. (c) 2008