NemoOrange
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?
UnConeD
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.
NemoOrange
6th January 2004 06:59 UTC
Thanks so much!