[cairo] new trapezoid code in glitz

David Reveman davidr at novell.com
Thu Jan 27 14:29:15 PST 2005


On Thu, 2005-01-27 at 13:25 -0800, Bill Spitzak wrote:
> David Reveman wrote:
> 
> > "non-intersecting" was the wrong word. By "non-intersecting" I meant; no
> > pixel is intersected by more than one trapezoid.
> > 
> > So in my previous mail:
> > "non-intersecting" = no pixel is intersected by more than one trapezoid
> > "intersecting" = at least one pixel is intersected by more than one
> > trapezoid
> > 
> > Sorry for any confusion this might have caused.
> 
> Actually I am still confused.
> 
> I'm pretty certain that "intersecting" includes trapazoids that are 
> close enough together that their antialiased pixels overlap, even though 
> they in reality do not overlap if drawn at infinite resolution. Is this 
> correct?

The alpha values in the implicit mask produced by the algorithm I have
in glitz will always be 0 for pixels that are not in "reality"
intersected by the trapezoid. Hence, for glitz, all we need to care
about is if they intersect the same pixel in reality or not.

> 
> PS: Ignoring this case and drawing the trapazoids one after the other is 
> VERY common, in fact so common that lots of programs rely on the 
> incorrect result being produced. For this reason it may be necessary to 
> ignore it as well.

I'm confused, do you mean that we should never rasterize trapezoids to
an intermediate mask? That will produce very incorrect results,
especially with the trapezoids generated by cairo's current tessellator.

-David




More information about the cairo mailing list