diff options
author | Ichthyostega <prg@ichthyostega.de> | 2016-08-19 16:12:52 +0300 |
---|---|---|
committer | Sergey Sharybin <sergey.vfx@gmail.com> | 2016-08-23 12:53:35 +0300 |
commit | 95d3ca8bc68c85643b9ce6b7340e2e1f48224fc2 (patch) | |
tree | 8684e39b9422fc56c499be2a228cde13cabbee5b /source/blender/blenkernel/intern/tracking_stabilize.c | |
parent | 0dec3d6e220902bd769bc7acec2bbc5320ff900c (diff) |
Fix inconsistency: expected scale not be subject to scale influence
We should treat all three "target" ("expected") parameters in a similar way:
The "influence" control should only work on the measurement part of stabilisation,
i.e. it should only control the automatic part of stabilisation, while
the target parameters are deliberately set by the user and thus should
even be in effect when the automatic stabilsation is turned down.
It used to be so for location and rotation, but for the scale part,
I re-used the existing code for autoscale, which also had the scale influence
work on the autoscale factor. This was sensible in the old version,
since scale_influence was the only way to control the result. But now,
the user has always total control trough the "target_*" parameters
and thus we should prefer to treat all similar.
Diffstat (limited to 'source/blender/blenkernel/intern/tracking_stabilize.c')
-rw-r--r-- | source/blender/blenkernel/intern/tracking_stabilize.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/source/blender/blenkernel/intern/tracking_stabilize.c b/source/blender/blenkernel/intern/tracking_stabilize.c index 4d72d851ae9..0f047242f93 100644 --- a/source/blender/blenkernel/intern/tracking_stabilize.c +++ b/source/blender/blenkernel/intern/tracking_stabilize.c @@ -1023,7 +1023,7 @@ static void stabilization_calculate_data(StabContext *ctx, float target_pos[2]; float scaleinf = get_animated_scaleinf(ctx, framenr); - *r_scale = (get_animated_target_scale(ctx,framenr) - 1.0f) * scaleinf + 1.0f; + *r_scale = get_animated_target_scale(ctx,framenr); if (ctx->stab->flag & TRACKING_STABILIZE_SCALE) { *r_scale *= expf(scale_step * scaleinf); /* Averaged in log scale */ |