===========================
- Fix for reading grease pencil data for movie clips.
- Request from Francois: undistort grease pencil to allow
manual calibration.
Only strokes made in "Cursor" space are getting undistorted,
strokes made in view space are kept unchanged.
This allows to make such workflow of manual calibration:
- Outline straight line in footage with GP.
- [Optional] mute footage.
- Enable Display->Manual Calibration.
- Tweak distortion coefficients until you'll like result.
- [Optional] Use strokes made in viewspace to help checking
of straightness of outlined features.
Not ideal but could be nice addition for grid-only calibration
until proper tools are getting ported to libmv/blender.
===========================
Changes into sensor size use case.
There was problem with vertical sensor size which can't actually
affect on things due to we've got fixed image resolution. So
as soon horizontal size gets defined, both of sensor height
and vertical FOV is known and exposing it into UI makes things
difficult to understand.
That's why vertical sensor size was dropped.
Also added pixel aspect to camera settings fo clip editor.
Solver will sue this value rather than value from display
aspect ratio.
This pixel aspect would be copied to render settings after solving
so things should match now between footage, solving anf footage.
===========================
Initial integration of proxies into movie clip editor.
Known issue: marker preview area uses proxyed image,
hopefully fix would be available soon.
- building with GHOST/SDL now adds the PREFIX
- image.external_edit operator errors out if the filepath isnt set (was annoying and loaded gimp while running tests)
Diff Keymaps
User edited keymaps now no longer override the builtin keymaps entirely, but
rather save only the difference and reapply those changes. This means they can
stay better in sync when the builtin keymaps change. The diff/patch algorithm
is not perfect, but better for the common case where only a few items are changed
rather than entire keymaps The main weakness is that if a builtin keymap item
changes, user modification of that item may need to be redone in some cases.
Keymap Editor
The most noticeable change here is that there is no longer an "Edit" button for
keymaps, all are editable immediately, but a "Restore" buttons shows for keymaps
and items that have been edited. Shortcuts for addons can also be edited in the
keymap editor.
Addons
Addons now should only modify the new addon keyconfiguration, the keymap items
there will be added to the builtin ones for handling events, and not get lost
when starting new files. Example code of register/unregister:
km = wm.keyconfigs.addon.keymaps.new("3D View", space_type="VIEW_3D")
km.keymap_items.new('my.operator', 'ESC', 'PRESS')
km = wm.keyconfigs.addon.keymaps["3D View"]
km.keymap_items.remove(km.keymap_items["my.operator"])
Compatibility
The changes made are not forward compatible, i.e. if you save user preferences
with newer versions, older versions will not have key configuration changes that
were made.
===========================
Added back Scale factor for scene orientation in toolshelf.
But now it's used in a bit other way -- invoke function
checks if operator's property is set and if not -- value
set in toolshelf is used.
===========================
- Request from Sebastian/Francois: default lens
for clip set to 24.0
- Added some additional camera presets from Francois request.
Not sure all things from GENERIC section of that request
would be actually useful.
Probably the whole sensor size workflow would be changed...
===========================
- Added function to calculate per-track average error.
Made this in libmv c-api, probably should be ported
to libmv pipeline.
- MovieTrackingTrack now holds average reprojection error
which is displayed in Active Track panel and information
text in clip editor (if displaying of names are enabled).
- Make "Clean Tracks" take average error on account.
===========================
- Fixed bug with resetting marker's flag for non-transforming
tracks when canceling transformation.
- Fixed bug with keyframing non-selected tracks when initializing
tracking tools.
- Changed selection policy: now invisible parts of marker
can be selected.
- Added operator redo panel to Clip Editor.
- Set Scale operator now uses operator property for scale.
- Added operator "Clean Tracks" which currently checks if tracks
are tracked long enough and can select bad tracks, delete them
or delete tracking segments which are too short.
This is for bug #28141
While not really a bug, it makes it a lot easyer to use if it
has the exension. (Isn't hidden from the user when they try to load it...)
Kent
===========================
- Fixed some silly things ni DNA design. Now all
reconstruction data is stored in Tracking->Reconstruction.
Please, re-solve your cameras -- reconstruction data
wouldn't be read from files saved in blender below this
commit.
- RNA accessors for reconstruction data.
- Store average reconstruction error in new reconstruction
structure and show it in clip editor header after
reconstruction.
- Highlight failed to reconstruct frames with red in cache line.
- Added "group" "Failed Tracks" in Select Grouped operator,
Meant to be used for selecting tracks bundles from which
failed to to be solved.
- Hotkey to delete marker: Shift-X.
- Jump to next/prev failed frame operator. Hotkeys are
Ctrl-Shift-Left/Right Arrow.
===========================
- Do not show frame boundary border when stabilization isn't enabled.
- Separate stabilization settings from display in clip editor.
Now clip can contain stabilization data but still be displayed
un-stabilized in clip editor.
- Internal changes in stabilization:
* Use separated location/scale parameters rather than 4x4 matrix.
In some ares "decomposed" data is needed (text draw functions, i.e.).
Also such decomposed data could be used in compositor.
* MovieClip now uses own structure for cache where additional data
can be stored. MovieCache structure now one of properties in
this new structure.
* Get rid of stable image buffer stored in MovieClipStabilization
structure. Pre-created buffer for scaling still stored there.
This helps to keep playback realtime -- re-creating this buffer
introduces ~15% slowdown.
- Added sliders to 2D stabilization panel which controls intensity
of translation/scale which applies on shot.
- Added filter type to Stabilize2D compositor node. Supports nearest,
bilinear and bicubic interpolation.
- After discussion with Sebastian and Francois added new node called
Transformation. It can apply translation, rotation and scale. It's
not the same thing as applying this components separately -- all
transformation is happening inside "canvas". And it should be more
accurate on interpolation and sub-pixel translation.
Need to check order of applying translation/scale/rotation btw.
- Added output sockets to movie clip compositor node. They holds
stabilization data which can be used by Translate or Transform
nodes.
- Minor fix of UI issues in Display panel.
===========================
Implemented 2D stabilization:
- Based on average point of several tracks.
- Tracks for stabilization are controllable from
"2D stabilization" panel.
- Implemented autoscaling. Could fail if average point is
too close to frame boundary.
- Background clip in 3D viewport and MovieClip input
compositor nodes are using stable shot.
Some internal weak things:
- Stable shots aren't cached in moviecache. There is
only one "slot" for stable shot inside stabilization
structure.
- This could fail if several threads are requested different
frames (for example when starting playback, pause to make
Nodes Editor trigger refresh, continue playback).
- Due to it shouldn't crash i decided to implement better
caching for stable shots a bit later.