gnash-dev
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Gnash-dev] Problem with Drawing API


From: Sandro Santilli
Subject: Re: [Gnash-dev] Problem with Drawing API
Date: Wed, 7 Nov 2007 08:33:33 +0100

On Wed, Nov 07, 2007 at 12:47:48AM +0100, Udo Giacomozzi wrote:

> The "non-zero" filling rule projects a ray from the test point (or the
> rendering point) to somewhere outside the shape (infinity). A special
> counter starts with zero and changes whenever the ray crosses an edge.
> When the edge at the crossing goes in upward direction, 1 is added to
> the counter. When the edge goes in downward direction, 1 is
> subtracted from the counter. Whenever the counter is not zero we are
> inside the shape, otherwise we are outside.
> 
> The "even-odd" filling rule is similar, but the direction of the edge
> does not matter. Instead each crossing increases the counter and an
> odd number means that the point is inside the shape.
> 
> The star in the above example is fully filled when the non-zero
> filling rule is applied but has a hole (a pentagon) when the even-odd
> filling rule is applied.
> 
> The latter is the case when the proprietary player renders the shape.
> 
> These filling rules are not specific to Flash shapes and I still don't
> understand why they can be applied to Flash shapes at all (they can be
> configured in the AGG rasterizer and make a difference).

Is the even-odd rule always applied or only for dynamically drawn shapes
and not for SWF-defined ones ?
Since we have no way to specify a fill "side" with drawing api, could it 
be one or the other is used depending on how the shape was defined ?

I was following a track with detecting differences in the "nested squares"
case by explicitly callign beginFill or not doing so (it's already in 
DrawingApiTest.as)
but I'm currently stuck due to differences in rendering between two builds of
the *same* gnash :/

--strk;




reply via email to

[Prev in Thread] Current Thread [Next in Thread]