/* ================ idPhysics_StaticMulti::Interpolate ================ */ bool idPhysics_StaticMulti::Interpolate( const float fraction ) { // If the sizes don't match, just use the latest version. // TODO: This might cause visual snapping, is there a better solution? if ( current.Num() != previous.Num() || current.Num() != next.Num() ) { current.SetNum( next.Num() ); for ( int i = 0; i < next.Num(); ++i ) { current[i] = InterpolateStaticPState( next[i], next[i], 1.0f ); } return true; } for ( int i = 0; i < current.Num(); ++i ) { current[i] = InterpolateStaticPState( previous[i], next[i], fraction ); } return true; }
/* ================ idPhysics_Static::Interpolate ================ */ bool idPhysics_Static::Interpolate( const float fraction ) { // We only interpolate if we actually get snapshots. if( self->GetNumSnapshotsReceived() >= 1 ) { current = InterpolateStaticPState( previous, next, fraction ); } return true; }