unfilled areas when drawing with transparency (alpha) ?

"Drew Folta" <[email protected]> Fri, 30 May 2003 10:52:17 -0700 (PDT)
Newsgroups gmane.comp.gnome.lib.libart.general
Message-ID <[email protected]>
Hi,

I just ran into an interesting behaviour of libart where certain types of
areas aren't filled in when using any amount of transparency (alpha level
other than 0xFF).  The situation happens when I give the vertices of an
area in a clockwise order.  Compare these two images:

  http://www.folta.net/drew/fill_EE.png
  http://www.folta.net/drew/fill_FF.png

They're both drawn exactly the same, with only the alpha level different. 
The fully-opaque box gets filled, but the partially-transparent one does
not.

Soo... my question is:  is this the correct behavior of libart, or should
it be filling the box with the appropriate transparent color?

A self-contained program to demonstrate this (and generate the above
images) is at http://www.folta.net/drew/fill.c.

(Hmmm... maybe a better example would be the following to images, which
draw the points in a slightly different order:
  http://www.folta.net/drew/fill_x_88.png
  http://www.folta.net/drew/fill_x_FF.png
)

This is with libart 2.3.11.


Drew Folta