com.jhlabs.image

Class CausticsFilter

Implemented Interfaces:
BufferedImageOp, Cloneable

public class CausticsFilter
extends WholeImageFilter

A filter which simulates underwater caustics. This can be animated to get a bottom-of-the-swimming-pool effect.

Field Summary

Fields inherited from class com.jhlabs.image.WholeImageFilter

originalSpace, transformedSpace

Constructor Summary

CausticsFilter()
Construct a WholeImageFilter.

Method Summary

protected int[]
filterPixels(int width, int height, int[] inPixels, Rectangle transformedSpace)
Actually filter the pixels.
float
getAmount()
Get the amount of effect.
int
getBgColor()
Get the background color.
int
getBrightness()
Get the brightness.
float
getDispersion()
Get the dispersion.
int
getSamples()
Get the number of samples per pixel.
float
getScale()
Returns the scale of the texture.
float
getTime()
Set the time.
float
getTurbulence()
Returns the turbulence of the effect.
void
setAmount(float amount)
Set the amount of effect.
void
setBgColor(int c)
Set the background color.
void
setBrightness(int brightness)
Set the brightness.
void
setDispersion(float dispersion)
Set the dispersion.
void
setSamples(int samples)
Set the number of samples per pixel.
void
setScale(float scale)
Specifies the scale of the texture.
void
setTime(float time)
Set the time.
void
setTurbulence(float turbulence)
Specifies the turbulence of the texture.
String
toString()

Methods inherited from class com.jhlabs.image.WholeImageFilter

filter, filterPixels, transformSpace

Methods inherited from class com.jhlabs.image.AbstractBufferedImageOp

clone, createCompatibleDestImage, getBounds2D, getPoint2D, getRGB, getRenderingHints, setRGB

Constructor Details

CausticsFilter

public CausticsFilter()
Construct a WholeImageFilter.

Method Details

filterPixels

protected int[] filterPixels(int width,
                             int height,
                             int[] inPixels,
                             Rectangle transformedSpace)
Actually filter the pixels.
Overrides:
filterPixels in interface WholeImageFilter
Parameters:
width - the image width
height - the image height
inPixels - the image pixels
transformedSpace - the output bounds
Returns:
the output pixels

getAmount

public float getAmount()
Get the amount of effect.
Returns:
the amount

getBgColor

public int getBgColor()
Get the background color.
Returns:
the color

getBrightness

public int getBrightness()
Get the brightness.
Returns:
the brightness.

getDispersion

public float getDispersion()
Get the dispersion.
Returns:
the dispersion

getSamples

public int getSamples()
Get the number of samples per pixel.
Returns:
the number of samples

getScale

public float getScale()
Returns the scale of the texture.
Returns:
the scale of the texture.

getTime

public float getTime()
Set the time.
Returns:
the time

getTurbulence

public float getTurbulence()
Returns the turbulence of the effect.
Returns:
the turbulence of the effect.

setAmount

public void setAmount(float amount)
Set the amount of effect.
Parameters:
amount - the amount

setBgColor

public void setBgColor(int c)
Set the background color.
Parameters:
c - the color

setBrightness

public void setBrightness(int brightness)
Set the brightness.
Parameters:
brightness - the brightness.

setDispersion

public void setDispersion(float dispersion)
Set the dispersion.
Parameters:
dispersion - the dispersion

setSamples

public void setSamples(int samples)
Set the number of samples per pixel. More samples means better quality, but slower rendering.
Parameters:
samples - the number of samples

setScale

public void setScale(float scale)
Specifies the scale of the texture.
Parameters:
scale - the scale of the texture.

setTime

public void setTime(float time)
Set the time. Use this to animate the effect.
Parameters:
time - the time

setTurbulence

public void setTurbulence(float turbulence)
Specifies the turbulence of the texture.
Parameters:
turbulence - the turbulence of the texture.

toString

public String toString()