[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kwin
Subject:    Re: Idea for conflicts with shadow effect
From:       "Lucas Murray" <lmurray () undefinedfire ! com>
Date:       2008-08-08 16:48:55
Message-ID: 74544e5c0808080948y3bf21e6k45431db04c1ad2b5 () mail ! gmail ! com
[Download RAW message or body]

On Fri, Aug 8, 2008 at 3:44 PM, Lucas Murray <lmurray@undefinedfire.com> wrote:
> On Sat, Jul 12, 2008 at 7:39 PM, Martin Graesslin
> <ubuntu@martin-graesslin.com> wrote:
>> On Saturday 12 July 2008 04:47:02 Lucas Murray wrote:
>>> Is there any way of efficiently creating shadows with a shader? Doing
>>> so may also allow non-rectangular windows.
>> Yes that would be possible, but I don't think it is a good idea as shaders are
>> not supported by all hardware. For example my notebook (Ati) does not support
>> shaders. And shadows should also be possible with XRender.
>>
>> Btw I like Lubos' suggestion with introducing a new WindowQuadType. That's a
>> very elegant way. And with enough quads it should be possible to have non-
>> rectangular shows as well, although it could be complicated.
>
> It does not work--there is simply no way to efficiently use a
> region-based shadow for shaped windows. It does work though, it just
> takes the framerate down to <1fps due to the massive amount of
> processing required to determine which quads are on the outside of the
> shape and try to expand those edges without overlapping other expanded
> shadow quads in real-time. The outer-edge data cannot be cached either
> as if you activate an effect that creates new edges you need to once
> again recalculate everything once per frame anyway.
>
> I think the only way to allow shaped windows (Compiz hasn't been able
> to do it either IIRC) is to rely on a shader and then have a fallback
> that works off a merge of Martin's quad type patch and my quad split
> reason patch.

Hmm, the previous patch I uploaded was more outdated than I thought.
Here's a more useful one. As it has the slow edge-detecting code
enabled just remove the section labeled "Work out which rects have an
outer edge" before use.

["incomplete-shadow-reason.diff" (application/octet-stream)]

_______________________________________________
kwin mailing list
kwin@kde.org
https://mail.kde.org/mailman/listinfo/kwin


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic