From Cedric Pinson, "updated osgAnimation with the trunk here the update:

examples/osganimationviewer/AnimtkViewer.cpp:
- add option to display bone (--drawbone)
- dont crash if the file does not contains a AnimationManagerBase, display the content only

examples/osganimationviewer/AnimtkViewerGUI.cpp:
- adjust the path of image for the gui

include/osgAnimation/Interpolator:
- add warn message instead of old assert

include/osgAnimation/Bone:
src/osgAnimation/Skeleton.cpp:
- change a method name to fit better with what it does. setMatrixInSkeletonSpace instead of setBoneInSkeletonSpace

include/osgAnimation/Skinning:
src/osgAnimation/RigGeometry.cpp:
- add patch from Fabien Lavignotte to compute normal correctly

include/osgAnimation/Sampler:
- adjust behviour without assert, return 0 instead of crashing
"
This commit is contained in:
Robert Osfield
2009-01-21 19:02:54 +00:00
parent d542961ca3
commit 55e89e4466
8 changed files with 105 additions and 22 deletions

View File

@@ -117,7 +117,7 @@ void RigGeometry::transformSoftwareMethod()
}
if (!_normalSource.empty())
{
_transformVertexes.compute<osg::Vec3>(_matrixFromSkeletonToGeometry, _invMatrixFromSkeletonToGeometry, &_normalSource.front(), &normal->front());
_transformVertexes.computeNormal<osg::Vec3>(_matrixFromSkeletonToGeometry, _invMatrixFromSkeletonToGeometry, &_normalSource.front(), &normal->front());
normal->dirty();
}
if (getUseDisplayList())

View File

@@ -52,9 +52,9 @@ struct updateMatrixVisitor : public osg::NodeVisitor
}
if (parent)
bone->setBoneInSkeletonSpace(bone->getMatrixInBoneSpace() * bone->getBoneParent()->getMatrixInSkeletonSpace());
bone->setMatrixInSkeletonSpace(bone->getMatrixInBoneSpace() * bone->getBoneParent()->getMatrixInSkeletonSpace());
else
bone->setBoneInSkeletonSpace(bone->getMatrixInBoneSpace());
bone->setMatrixInSkeletonSpace(bone->getMatrixInBoneSpace());
traverse(node);
}