[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