Mark Vojkovich wrote:
On Mon, 26 Jan 2004, Thomas Winischhofer wrote:


Sottek, Matthew J wrote:

a) is used for aa text; however, sometimes (haven't yet found out why)
the alphaType argument to this is not PICT_a8 as one would expect, but
PICT_a8r8g8b8.

I don't quite get the logic behind this. What's the CPUToScreenTexture hook for if CPUToScreenAlphaTexture should be able to deal with ARGB textures? And how should the "red", "green" and "blue" arguments correlate with the RGB contents of this odd texture?


a) Is used whenever you want to combine a per-pixel alpha with a
diffuse color. Text, as you said is the common case but I think there
were other intentions...

I've seen some screenshots on Keith's site that show using a window's
own alpha channel as a drop shadow. In order for that to work you
would need to get an argb input (the offscreen copy of the full
window contents) but only use the "a" and use the diffuse rgb as
provided. Maybe that is the intended use?

Hm. I _think_ we're talking about the same thing. However, my (second) question was more meant in the line of the following:


I am given a constant r, g and b as each a separate parameter, and an


You are also given "a".


a8r8g8b8 texture which by Mark's explanation is for providing an alpha value for each of the r, g, b components. But the format is _a8_r8g8b8;


No, it modulates r, g, b, and a.


if the components' alphas are in the r8g8b8 part, what's to happen with the a8 part of that texture?



  You are given constant a, r, g, b.  An a8 texture modulates all of
them:

... unless XAA_RENDER_NO_SRC_ALPHA is set...?


a *= a8

... in which case the above does not apply...?


   r *= a8
   g *= a8
   b *= a8


Thomas

--
Thomas Winischhofer
Vienna/Austria
thomas AT winischhofer DOT net          http://www.winischhofer.net/
twini AT xfree86 DOT org
_______________________________________________
Devel mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/devel

Reply via email to