Monday, July 18, 2011

Animation and more

I was planning on adding the soft edge feature but even the most stripped down blur implementation was simply too slow. So, I shifted my focus towards animation and useability for a while. Here's a quick overview of the changes:
  • Making changes to a mask now automatically adds/updates a keyframe for the current frame. This means that as you jump back and forth through the footage and make adjustments to the mask(s), you don't have to worry about adding keyframes, etc. Roto2D takes care of all that. Of course, you can also edit the animation using the Graph Editor or Dopesheet.
  • All masks are now correctly stored in the .blend file. So, you don't have to worry about saving them seperately. 
  • Added selecting a mask by clicking on the outline.
  • Adding a point to a mask by double-clicking on the outline.
  • Added removing all selected points by pressing 'x' or 'del' or using the 'Remove' button. When drawing a new mask this will remove the last added point (pressing it again removes the point before that, etc.).
  • Added smoothing all selected points by pressing 'Shift'+'s' or using the 'Smooth' button.
  • Mask names can now be changed.
  • Mask color and alpha can now be changed.
  • Visibility of the outlines can now be toggled.
  • The use of 'Ctrl' and 'Shift' when editing points now matches the Foundry's Nuke
  • Tested it in Windows for the first time and fixed some strange OpenGL issues. 
And a new screenshot:
Animated mask.

With all that taken care of, it's time to dive back into the pixel buffers. Updating the Image object is still a bit too slow (about 1 sec. for 1920x1080) so I need to find a more direct way to pass the bgl.Buffer data to the Image object's buffer. If only I could get Image.gl_load() to stop causing a segmentation fault, or get direct access to the buffer... I feel another patch coming up! (And this one will be seriously serious :)

No comments:

Post a Comment