Bugs item #1800783, was opened at 2007-09-24 01:58 Message generated for change (Comment added) made by dooglus You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=757416&aid=1800783&group_id=144022
Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: None Group: None >Status: Closed >Resolution: Fixed Priority: 5 Private: No Submitted By: dooglus (dooglus) Assigned to: Nobody/Anonymous (nobody) Summary: motion blur doesn't work on encapsulated layers Initial Comment: motion blur on encapsulated layers with animated offsets doesn't work. http://dooglus.rincevent.net/synfig/arrow-follows-line-tut-blur.sifz is an example (needs recent svn build) See http://dooglus.rincevent.net/synfig/motionblur.png too - the hand and arm are animated together, but not blurred together. ---------------------------------------------------------------------- >Comment By: dooglus (dooglus) Date: 2007-09-25 01:50 Message: Logged In: YES user_id=1546005 Originator: YES Fixed in svn r749. Keep PasteCanvas dynamic parameters dynamic for blurred layers so that the MotionBlur layer can adjust them back over time. ---------------------------------------------------------------------- Comment By: dooglus (dooglus) Date: 2007-09-24 21:58 Message: Logged In: YES user_id=1546005 Originator: YES My last statement was a little incorrect. I didn't try disabling the SYNFIG_OPTIMIZE_PASTE_CANVAS feature. What I did was made the: if(layer->get_name()=="PasteCanvas" && paste_canvas->get_time_offset()==0) test always fail "if(0&&...)" That's what fixed the bug. ---------------------------------------------------------------------- Comment By: dooglus (dooglus) Date: 2007-09-24 21:56 Message: Logged In: YES user_id=1546005 Originator: YES In canvas.cpp, synfig::optimize_layers() makes a new PasteCanvas layer to replace the existing one: Layer::Handle new_layer(Layer::create("PasteCanvas")); It then copies the parameter list from the old PasteCanvas layer: Layer::ParamList param_list(paste_canvas->get_param_list()); new_layer->set_param_list(param_list); but it doesn't copy the dynamic parameters. So if any of the parameters of the PasteCanvas change over time (like how in the example I animate the "origin" parameter of the PasteCanvas layer), the value of those parameters will be frozen when the blur layer does its look-back-in-the-past loop to generate the blur. Disabling the SYNFIG_OPTIMIZE_PASTE_CANVAS feature fixes this bug, as does explicitly copying the PasteCanvas layer's dynamic parameters from paste_canvas to new_layer after constructing new_layer. Ideally we would be able to know when there is a motion blur layer using the PasteCanvas, and only copy the dynamic parameters in that case. Or never replace the PasteCanvas layer at all if it's a candidate for bluring. Or similar. ---------------------------------------------------------------------- Comment By: dooglus (dooglus) Date: 2007-09-24 02:12 Message: Logged In: YES user_id=1546005 Originator: YES Look at the frame at 20s in particular, in the workarea. The arrow is pointing backwards. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=757416&aid=1800783&group_id=144022 ------------------------------------------------------------------------- This SF.net email is sponsored by: Microsoft Defy all challenges. Microsoft(R) Visual Studio 2005. http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/ _______________________________________________ Synfig-devl mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/synfig-devl
