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

List:       kwin
Subject:    Re: Compositing manager
From:       Thomas =?iso-8859-1?q?L=FCbking?= <thomas.luebking () web ! de>
Date:       2006-07-14 19:24:43
Message-ID: 200607142124.43594.thomas.luebking () web ! de
[Download RAW message or body]

Am Freitag, 14. Juli 2006 19:23 schrieb Matias Valdenegro T.:
> I don't agree that Effects should work in all scenes, as OpenGL compositing
> is very different in implementation and capabilities as XRender compositing
> (See Shaders and GLSL).
well, i do =)
YES. XRender support is (currently more than) poor. Even nVidia's is broken on 
7.1
YES. XRender doesn't support shaders - but openGL < 2.0 (afaik) neither (you'd 
need to call some shader language. If i missed the part in the latter OpenGL 
API (i think the latest a took a look on was 1.3) - apologises, and please 
correct me)
However, 
1. OpenGL won't be /real/ fun before a X server on top of OpenGL (like EGL) is 
(commnly and fully) avaliable (or the texture from pixmap extension is 
übergood)
2. XRender could be accelerated in the future (i don't really believe anymore, 
but who knows...)
3. It's probably easy to maintain XRender code (especially on a high level 
API, such as for a plugin ;) - it will just be damn slow unless you've got 
XRender acceleration (and it's done in SW)

> The only problem i see by dropping XRender and supporting only OpenGL
> compositing is the dependency on propietary drivers of video cards.
Indeed ;)

> As i understand, shadows are just an image that gets composited along the
> window, producing a bigger image that gets composited to the desktop.
You'll be in trouble for arbitrarily shaped windows using this technique.
For arbitrary shadow i'd propose (on infrastructures with accelerated scaling) 
to create the shadow by generating n (0,0,0,1/n) copies of the shape matrix 
(where a is the alpha value of the window), scale them by 1+f*n/i (where i is 
the copy index and f is the shadow size factor, maby an exponetial function 
will look better) and blend them over each other (and good god, cache this in 
a texture/pixmap and only update if the window is rescaled =) as this is by 
far faster than a proper gaussian blur (that could really stress the CPU for 
big windows)

> What would be the difference between effects and functionality?
I guess what Lubos means is: Say you wanna scale a window down.
Then scaling itself is part of the window manager (so afterwards the window is 
scaled and the WM/CM properly knows about), while the appereance of the scale 
(some swwwussshhhh FX, or the window could get punched, or rotate, or scale 
with different speed on each axis, or.....) is job to the FX plugin.
Same on (un)mapping, movement, Desktop change or whatever.

Thomas
-- 
Fear... Fear attracts the fearfull.
The strong. The weak. The innocent. The corrupt.
Fear... Fear is my ally!
_______________________________________________
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