support for subframe animation evaluation for masks.
This commit is contained in:
@@ -120,7 +120,7 @@ void BKE_mask_coord_to_movieclip(struct MovieClip *clip, struct MovieClipUser *u
|
||||
void BKE_mask_update_display(struct Mask *mask, float ctime);
|
||||
|
||||
void BKE_mask_evaluate_all_masks(struct Main *bmain, float ctime, const int do_newframe);
|
||||
void BKE_mask_evaluate(struct Mask *mask, float ctime, const int do_newframe);
|
||||
void BKE_mask_evaluate(struct Mask *mask, const float ctime, const int do_newframe);
|
||||
void BKE_mask_update_scene(struct Main *bmain, struct Scene *scene, const int do_newframe);
|
||||
void BKE_mask_parent_init(struct MaskParent *parent);
|
||||
void BKE_mask_calc_handle_adjacent_interp(struct MaskSpline *spline, struct MaskSplinePoint *point, const float u);
|
||||
@@ -145,7 +145,7 @@ void BKE_mask_layer_shape_to_mask_interp(struct MaskLayer *masklay,
|
||||
struct MaskLayerShape *masklay_shape_b,
|
||||
const float fac);
|
||||
struct MaskLayerShape *BKE_mask_layer_shape_find_frame(struct MaskLayer *masklay, const int frame);
|
||||
int BKE_mask_layer_shape_find_frame_range(struct MaskLayer *masklay, const int frame,
|
||||
int BKE_mask_layer_shape_find_frame_range(struct MaskLayer *masklay, const float frame,
|
||||
struct MaskLayerShape **r_masklay_shape_a,
|
||||
struct MaskLayerShape **r_masklay_shape_b);
|
||||
struct MaskLayerShape *BKE_mask_layer_shape_alloc(struct MaskLayer *masklay, const int frame);
|
||||
|
||||
@@ -1463,7 +1463,7 @@ void BKE_mask_spline_ensure_deform(MaskSpline *spline)
|
||||
}
|
||||
}
|
||||
|
||||
void BKE_mask_evaluate(Mask *mask, float ctime, const int do_newframe)
|
||||
void BKE_mask_evaluate(Mask *mask, const float ctime, const int do_newframe)
|
||||
{
|
||||
MaskLayer *masklay;
|
||||
|
||||
@@ -1475,7 +1475,7 @@ void BKE_mask_evaluate(Mask *mask, float ctime, const int do_newframe)
|
||||
MaskLayerShape *masklay_shape_b;
|
||||
int found;
|
||||
|
||||
if ((found = BKE_mask_layer_shape_find_frame_range(masklay, (int)ctime,
|
||||
if ((found = BKE_mask_layer_shape_find_frame_range(masklay, ctime,
|
||||
&masklay_shape_a, &masklay_shape_b)))
|
||||
{
|
||||
if (found == 1) {
|
||||
@@ -1750,7 +1750,7 @@ MaskLayerShape *BKE_mask_layer_shape_find_frame(MaskLayer *masklay, const int fr
|
||||
}
|
||||
|
||||
/* when returning 2 - the frame isnt found but before/after frames are */
|
||||
int BKE_mask_layer_shape_find_frame_range(MaskLayer *masklay, const int frame,
|
||||
int BKE_mask_layer_shape_find_frame_range(MaskLayer *masklay, const float frame,
|
||||
MaskLayerShape **r_masklay_shape_a,
|
||||
MaskLayerShape **r_masklay_shape_b)
|
||||
{
|
||||
|
||||
@@ -2067,7 +2067,7 @@ static ImBuf *seq_render_mask_strip(
|
||||
return NULL;
|
||||
}
|
||||
|
||||
BKE_mask_evaluate(seq->mask, (int)(seq->mask->sfra + nr), TRUE);
|
||||
BKE_mask_evaluate(seq->mask, seq->mask->sfra + nr, TRUE);
|
||||
|
||||
maskbuf = MEM_callocN(sizeof(float) * context.rectx * context.recty, __func__);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user