Archive: Water by Convo Filter


31st December 2003 02:52 UTC

Water by Convo Filter
http://www.deviantart.com/deviation/725794/

According to the comment given by Tom Holden, the Convolution Filter is able to produce a water effect. I have tried to make such an effect, but with no success. Is this really possible, and if so, what's the matrix?


31st December 2003 04:27 UTC

The water effect is both a function of the current frame and the last frame, so a simple convolution will not work.

The formula in (x,y) coordinates, t time, is:

p[x,y,t+1] = ((p[x+1,y,t] + p[x-1,y,t] + p[x,y+1,t] + p[x,y-1,t])/2 - p[x,y,t-1]) * (1 - damping)

Here's an implementation using convo, multidelay and an exponential fade-out (using adj blend).
It's not identical to the AVS water filter, but pretty close. I think it's because negative values are clipped to zero.

You can change the convolution matrix to control the shapes and size of the waves, as long as the divider is the total/2.


6th January 2004 06:59 UTC

Thanks so much!