protected void ReadPoseKeyframe( BinaryReader reader, VertexAnimationTrack track )
{
var time = ReadFloat( reader );
var vkf = track.CreateVertexPoseKeyFrame( time );
if ( !IsEOF( reader ) )
{
var chunkID = ReadChunk( reader );
while ( !IsEOF( reader ) && chunkID == MeshChunkID.AnimationPoseRef )
{
switch ( chunkID )
{
case MeshChunkID.AnimationPoseRef:
{
var poseIndex = ReadUShort( reader );
var influence = ReadFloat( reader );
vkf.AddPoseReference( poseIndex, influence );
break;
}
}
if ( !IsEOF( reader ) )
{
chunkID = ReadChunk( reader );
}
}
if ( !IsEOF( reader ) )
{
// backpedal to the start of chunk
Seek( reader, -ChunkOverheadSize );
}
}
}