Class CausticsFilter

  • All Implemented Interfaces:
    java.awt.image.BufferedImageOp, java.lang.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.
    • Constructor Detail

      • CausticsFilter

        public CausticsFilter()
    • Method Detail

      • setScale

        public void setScale​(float scale)
        Specifies the scale of the texture.
        Parameters:
        scale - the scale of the texture, min-value 1, max-value 300+
        See Also:
        getScale()
      • getScale

        public float getScale()
        Returns the scale of the texture.
        Returns:
        the scale of the texture.
        See Also:
        setScale(float)
      • setBrightness

        public void setBrightness​(int brightness)
        Set the brightness.
        Parameters:
        brightness - the brightness, min-value 0, max-value 1
        See Also:
        getBrightness()
      • getBrightness

        public int getBrightness()
        Get the brightness.
        Returns:
        the brightness.
        See Also:
        setBrightness(int)
      • setTurbulence

        public void setTurbulence​(float turbulence)
        Specifies the turbulence of the texture.
        Parameters:
        turbulence - the turbulence of the texture, min-value 0, max-value 1
        See Also:
        getTurbulence()
      • getTurbulence

        public float getTurbulence()
        Returns the turbulence of the effect.
        Returns:
        the turbulence of the effect.
        See Also:
        setTurbulence(float)
      • setAmount

        public void setAmount​(float amount)
        Set the amount of effect.
        Parameters:
        amount - the amount, min-value 0, max-value 1
        See Also:
        getAmount()
      • getAmount

        public float getAmount()
        Get the amount of effect.
        Returns:
        the amount
        See Also:
        setAmount(float)
      • setDispersion

        public void setDispersion​(float dispersion)
        Set the dispersion.
        Parameters:
        dispersion - the dispersion, min-value 0, max-value 1
        See Also:
        getDispersion()
      • getDispersion

        public float getDispersion()
        Get the dispersion.
        Returns:
        the dispersion
        See Also:
        setDispersion(float)
      • setTime

        public void setTime​(float time)
        Set the time. Use this to animate the effect.
        Parameters:
        time - the time
        See Also:
        getTime()
      • getTime

        public float getTime()
        Set the time.
        Returns:
        the time
        See Also:
        setTime(float)
      • 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
        See Also:
        getSamples()
      • getSamples

        public int getSamples()
        Get the number of samples per pixel.
        Returns:
        the number of samples
        See Also:
        setSamples(int)
      • setBgColor

        public void setBgColor​(int c)
        Set the background color.
        Parameters:
        c - the color
        See Also:
        getBgColor()
      • getBgColor

        public int getBgColor()
        Get the background color.
        Returns:
        the color
        See Also:
        setBgColor(int)
      • filterPixels

        protected int[] filterPixels​(int width,
                                     int height,
                                     int[] inPixels,
                                     java.awt.Rectangle transformedSpace)
        Description copied from class: WholeImageFilter
        Actually filter the pixels.
        Specified by:
        filterPixels in class WholeImageFilter
        Parameters:
        width - the image width
        height - the image height
        inPixels - the image pixels
        transformedSpace - the output bounds
        Returns:
        the output pixels
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object