Around 9 o'clock on Oct 13, Carsten Haitzler wrote:

> well actually the server woudl have to implicitly do backing store for all
> parent windows (and now all children render to the backign store) that have
> alpha in their background mask (ie having alpha means an alpha value of other
> than 0 or 255 if we talk abouta range of 0-255, with 0 being transparent)

It's not about parent/child relationships -- it's about coverage.  My goal 
is to allow each window to draw to one or more "layers" using different 
clip lists.  Once I can do this, I can create virtual frame buffers for 
areas of the screen overlaid by one or more translucent windows -- each 
window in that area will draw to the overlay "layer", areas not overlaid 
by translucent windows will draw straight to the frame buffer.

By separating the notions of layering from the window heirarchy, I hope to 
minimize the amount of compositing needed to create the final screen image 
from the collection of translucent windows.

I've already started the layer implementation -- it was needed to support 
the RandR extension.  Making it handle per-layer clip lists for each window
is another large part of the puzzle.

Obviously, with such an implementation, you've got support for backing 
store, save-unders as well as translucency.  I hope to reduce the amount 
of code in the server while improving it's functionality with this new 
mechanism.

> yup. people keep asking for transparency - and i can't do more than nasty
> hacks that look good in screenshots - but not in real ... moving.. life :)

You need to get away from the client-side and move into the X server where 
performance is only a matter of programming the accelerator registers 
correctly :-)

[EMAIL PROTECTED]        XFree86 Core Team              SuSE, Inc.


_______________________________________________
Render mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/render

Reply via email to