Alpha channel rendering
Carsten Haitzler (The Rasterman)
raster at rasterman.com
Mon Jan 23 19:07:22 PST 2006
On Tue, 24 Jan 2006 12:01:09 +1100 Russell Shaw <rjshaw at netspace.net.au>
babbled:
> Hi,
> The problem with transparent menus and other things is that now
> there's no concept of obscured windows. So if there's 100 alpha channel
> obscured windows, each on top of the next, then changing any one of
> them means that all 100 of them get expose events and need to be redrawn.
> If each window is double-buffered, then the server can redraw them without
> expose events.
in x to get something like this u need to use a composite manager xcomposite
and xdamage etc. etc. - since al widnwos are alreayd drawn to backing pixmaps
with xcomposite (thus are implicitly all double-buffered) an update for a
window layered on top of a stakc of 100 - means yes, a composite manager needs
to re-composite all 100 windows for the updated region. of course this is a
very evil worst case. likely scenarios is only having 2 or 3. in fact a
composite manager can get realyl smart and store pre-composited layers so it
can short-cut a re-composite step, but this consumes up quite a bit more
precious video ram... but this is up to the compsoite manager - as its an x
client, it decides. u can write your own composite manager if u want :) x
provides the mehcanisms to make this possible.
> I have not done alpha channel stuff in X, so was wondering what extension
> is used to do that? Does it modify the expose event semantics?
> _______________________________________________
> xorg mailing list
> xorg at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/xorg
>
--
------------- Codito, ergo sum - "I code, therefore I am" --------------
The Rasterman (Carsten Haitzler) raster at rasterman.com
裸好多
Tokyo, Japan (東京 日本)
More information about the xorg
mailing list