[OpenJDK 2D-Dev] Reporitory, Accalerating blits with EA

Jim Graham Jim.A.Graham at Sun.COM
Mon Jul 21 19:32:20 UTC 2008


Clemens Eisserer wrote:
>> "Extra alpha" has the same behavior for all AlphaComposite instances.  In a
>> nutshell, the extra alpha value gets logically multiplied with the source
>> before the actual compositing operation.  The AlphaComposite docs explain
>> this process in great detail (look for the A[sub]ac factor):
>> http://java.sun.com/javase/6/docs/api/java/awt/AlphaComposite.html
> Thanks for the explanation.
> I guess the reason for the behaviour I see is a xserver-bug ... I am
> not really sure what to do about it till now.

One thing that might explain the difference is whether or not the opaque 
destinations are considered premultiplied or not.  I believe that we 
consider them non-premultiplied in which case the extraalpha is 
multiplied in, the result is stored to the destination, which involves 
dividing the alpha back out == no change.  If the system treats the 
destinations as premultiplied then it multiplies the alpha into the 
color, then stores the multiplied (which looks faded) result into the 
destination...

			...jim



More information about the 2d-dev mailing list