[Bf-blender-cvs] [69aa5bba4f0] master: Fix T66941: GPencil wrong interpolation calculation for last keyframe

Antonioya noreply at git.blender.org
Mon Jul 15 16:56:59 CEST 2019


Commit: 69aa5bba4f0ccd9e95ce2eb811e0f7089fbb5574
Author: Antonioya
Date:   Mon Jul 15 16:56:32 2019 +0200
Branches: master
https://developer.blender.org/rB69aa5bba4f0ccd9e95ce2eb811e0f7089fbb5574

Fix T66941: GPencil wrong interpolation calculation for last keyframe

The range used for frames was wrong and the last keyframe was way off of the correct place.

Thanks to @MagnumOctopus for catching the bug.

===================================================================

M	source/blender/editors/gpencil/gpencil_interpolate.c

===================================================================

diff --git a/source/blender/editors/gpencil/gpencil_interpolate.c b/source/blender/editors/gpencil/gpencil_interpolate.c
index 8a9f7c1224a..4d5548dcdf3 100644
--- a/source/blender/editors/gpencil/gpencil_interpolate.c
+++ b/source/blender/editors/gpencil/gpencil_interpolate.c
@@ -996,8 +996,9 @@ static int gpencil_interpolate_seq_exec(bContext *C, wmOperator *op)
       float factor;
 
       /* get interpolation factor */
-      factor = (float)(cframe - prevFrame->framenum) /
-               (nextFrame->framenum - prevFrame->framenum + 1);
+      float framerange = nextFrame->framenum - prevFrame->framenum;
+      CLAMP_MIN(framerange, 1.0f);
+      factor = (float)(cframe - prevFrame->framenum) / framerange;
 
       if (ipo_settings->type == GP_IPO_CURVEMAP) {
         /* custom curvemap */



More information about the Bf-blender-cvs mailing list