olive icon indicating copy to clipboard operation
olive copied to clipboard

[NODES] Motion blur for the Transform effect

Open unfa opened this issue 5 years ago • 6 comments

Could the Transform effect perform motion blur for animated transforms?

There are already Directional and Radial blur effects (which are more than any libre NLA I've seen).

What seems to be missing is rotation and non-uniform scaling blur - these four should be able to create perfect motion blur illusion for the Transform effect.

Animating them manually to get fake motion blur would be a lot of work, and any error on the user side would be easily creating a very cheesy outcome.

I am currently using the Gblur effect in Kdenlive to fake horizontal motion blur, but it's got a gaussian kernel, so it's not ideal - yet, that's the best I have there.

unfa avatar Mar 15 '19 21:03 unfa

See #595

There is actually a work-in-progress effect of this nature, but it does require an extra hook in the effect processing code so that the whole video gets shadowed rather than just the contents inside it. But yeah, it's coming, no ETA yet though.

So expect to see layers get treated like objects in the future (drop-shadow, motion blur, etc). I believe the Olive team shelved this feature for now in favor for OpenColorIO support and pipeline sorting.

ghost avatar Mar 15 '19 22:03 ghost

This is something I've thought about before. The really interesting potential aspect of this for me is using OpenGL's accumulator for "real" motion blur. Though I think it would indeed rely on the same hook that @BrimsonBhin mentions.

itsmattkc avatar Mar 16 '19 03:03 itsmattkc

@itsmattkc

Are you sure that using OpenGL's accumulator is a wise decision? OpenGL 3.1+ and ES 2.0 deprecated/removed the accumulation buffer function. I believe there is a more "modern" solution for synthetic motion-blur through OpenGL. I doubt Olive's users are using hardware that archaic

ghost avatar Mar 16 '19 04:03 ghost

I was not aware of that (I really hadn't gotten that far into it beyond knowing it existed), however funnily enough the recommended replacement of using framebuffer objects actually would be a lot simpler and could likely be implemented sooner.

itsmattkc avatar Mar 16 '19 05:03 itsmattkc

Regardless of the way this is implemented, make sure it takes into consideration shutter angle.

alcomposer avatar Mar 16 '19 07:03 alcomposer

If this is implemented - please also make the Shake effect able to use it :)

unfa avatar Mar 21 '19 23:03 unfa