gnash-dev
[Top][All Lists]
Advanced

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

Re: [Gnash-dev] Matrix hell


From: strk
Subject: Re: [Gnash-dev] Matrix hell
Date: Wed, 1 Oct 2008 12:12:56 +0200

Just for update: we fixed all known bugs (except accuracy)
w/out storing original matrix [ only using cached values
instead ]

--strk;

On Tue, Sep 30, 2008 at 10:51:32AM +0200, strk wrote:
> On Tue, Sep 30, 2008 at 10:49:26AM +0200, strk wrote:
> 
> > > 1) Matrix is read from SWF:
> > >   (a=1, b=0, c=0, d=-2, tx=200, ty=200)
> > >   _xscale==100;
> > >   _yscale==200; // expected to be positive on extraction
> > >   _rotation==0;
> > > 
> > > 2) _yscale is set to 100:
> > >   (a=1, b=0, c=0, d=-1, tx=200, ty=200) // 'd' expected to retain sign
> > >   _xscale==100;
> > >   _yscale==100; // expected to be positive 
> > >   _rotation==0;
> > > 
> > > 3) _yscale is set to -100
> > >   (a=1, b=0, c=0, d=1, tx=200, ty=200) // 'd' expected to change sign
> > >   _xscale==100;
> > >   _yscale==-100; // as set by AS
> > >   _rotation==0;
> > > 
> > > 4) _yscale is set to 100 [ HERE GNASH FAILS ]
> > >   (a=1, b=0, c=0, d=-1, tx=200, ty=200) // gnash gives 'd=1'
> > >   _xscale==100;
> > >   _yscale==100;
> > >   _rotation==0;
> > 
> > Just an observation: from step (3) to step (4)
> > we're basically callin matrix::set_y_scale(100)
> > to a matrix that's already an identity.
> > There's no way we can have matrix::set_y_scale()
> > determine whether or not that 'd' element of the
> > matrix should be sign-swapped or not by only
> > taking _yscale ! The same input would result
> > in another output if the matrix was read as
> > an identity one from the start...
> 
> Another observation: even taking all the parameters
> (_xscale,_yscale,_rotation) won't suffice, as we'd
> get an identity matrix as a result in that case.
> 
> Swfdec remembers the *original* matrix.
> Having that might be a solution to this problem
> (dunno by using which math though..)
> 
> --strk;
> 
> 
> _______________________________________________
> Gnash-dev mailing list
> address@hidden
> http://lists.gnu.org/mailman/listinfo/gnash-dev

-- 

 ()   ASCII Ribbon Campaign
 /\   Keep it simple! 





reply via email to

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