[compiz] Blurring behind windows

julio at lepi.org julio at lepi.org
Wed Jan 3 02:43:26 PST 2007


> There is a basic blur plugin here, all my attempts
> to get it working have failed so I would welcome
> any tips.  Could the core be changed to support
> these blur functions?
>
> http://forum.go-compiz.org/viewtopic.php?t=207

The forum seems to be currently down but I guess this is "our" thread ;)

I see two kind of answers :
- Pixel shaders (if available) are probably the best solution : they're
fast and they should not be too difficult to apply behind a window. Look
at water plugin maybe.
- If you want to make blur without shaders, this will probalby be much
more tricky. Like we noticed, convolution filters do not seem to be
available on all cards (they were on my gf4 but not on my ati). Plus, this
is not accelerated by the card. Even more, to blur behind a window you
will probably need to redraw what was behind :(
A trick that is used by the blurfx plugin in beryl (if I remember
correctly) is to scale down the texture behind the window, and then scale
it back to size before blending with the window. This works but creates
ugly artifacts as soon as the zoom factor is more than 2 :(
Another trick than would probably be 1/ much more good looking and 2/ less
cpu-intensive than convolution (or at least as cpu-intensive) would be to
blend several (let say 9) textures of what is behind the window, each one
with a very low alpha, but each one with an offset of one pixel in each
direction :
 __________________
|_|_|_|______|_|_|_|
|_|_|_|______|_|_|_|
|_|_|_|______|_|_|_|
| | | |      | | | |
| | | |      | | | |
| | | |      | | | |
|_|_|_|______|_|_|_|
|_|_|_|______|_|_|_|
|_|_|_|______|_|_|_|
|_|_|_|______|_|_|_|

Hmmm I'm not sure my english and my ascii art skills are enough to make
myself clear, but anyway, here it is ;)
Would it be possible ?

I wish I had more time to help and code :(


Oh, and happy new year everybody ;)

Best regards,
-- 
Julien


More information about the compiz mailing list