My app already spends a lot of time in update() so I'd prefer to avoid
any solution that slows performance any more.
I suspect most developers will be using osgAnimation for imported 3D
models, so as long as importers meet the bones-first requirement I doubt
you'll get any complaints. The FBX importer already meets this
requirement which wasn't hard.

-----Original Message-----
From: [email protected]
[mailto:[email protected]] On Behalf Of
Cedric Pinson
Sent: 27 August 2009 11:43
To: OpenSceneGraph Submissions
Subject: Re: [osg-submissions] osgAnimation delayed update fix

Hi Michael,

Another solution could be to run the update of bone in the skeleton
update callback, and in order to avoid twice update of Bone (from the
Skeleton UpdateCallback and by the default UpdateVisitor), it will need
to add a check with a framestamp in UpdateBone update callback. Then it
will be updated once, but called twice.
It's not ideal but could be another solution.

What do you think ?

Cheers,
Cedric

-  
+33 659 598 614  Cedric Pinson mailto:[email protected]
http://www.plopbyte.net


On Tue, 2009-08-11 at 16:37 +0100, Michael Platings wrote:
> When jumping around in time with a skinned model, I found that the 
> model was displaying the transformations from the previous frame. The 
> reason for this was UpdateSkeleton would update the bone matrices 
> before UpdateBone::update had been called.
> It seems that the intention for this was to ensure the matrices were 
> updated before any RigGeometry could be updated. However, it also 
> means that the bones will always be in the position for the previous 
> frame.
> I looked into trying to force the bones to update first but such an 
> approach introduced complexity and opened up the possibility of 
> causing other more subtle errors. Instead, I believe the most elegant 
> solution is to simply require that bones be ordered before other 
> objects within the child list.
>  
> I've moved the matrix updating from UpdateSkeleton to UpdateBone.
> UpdateSkeleton now merely checks that Bones appear before other 
> children and issues a warning if this isn't the case.
> 
> ______________________________________________________________________
> This email and any files transmitted with it are confidential and 
> intended solely for the use of the individual or entity to whom they 
> are addressed. If you have received this email in error please notify 
> the system manager.
> 
> This email has been scanned by the MessageLabs Email Security System.
> For more information please visit http://www.messagelabs.com/email 
> ______________________________________________________________________
> _______________________________________________
> osg-submissions mailing list
> [email protected]
> http://lists.openscenegraph.org/listinfo.cgi/osg-submissions-openscene
> graph.org

______________________________________________________________________
This email has been scanned by the MessageLabs Email Security System.
For more information please visit http://www.messagelabs.com/email
______________________________________________________________________

______________________________________________________________________
This email and any files transmitted with it are confidential and
intended solely for the use of the individual or entity to whom they
are addressed. If you have received this email in error please notify
the system manager.

This email has been scanned by the MessageLabs Email Security System.
For more information please visit http://www.messagelabs.com/email 
______________________________________________________________________
_______________________________________________
osg-submissions mailing list
[email protected]
http://lists.openscenegraph.org/listinfo.cgi/osg-submissions-openscenegraph.org

Reply via email to