Age | Commit message (Collapse) | Author |
|
- revise code accordingly with the 2.78 release
|
|
|
|
- remove self_track and other_track pointers in MovieTrackCorrespondence,
instead use self_track_name and other_track_name.
- now we can save and load correspondences reliably.
- one issue after this change is that the color of linked tracks are not
shown correctly.
|
|
It seems that we have some changes in multiview stablization
happened in the master branch. Solve the conflicts in versioning.
|
|
When WITH_INPUT_NDOF is disabled, 3D mouse handling code is removed
from:
- GHOST (was mostly done, finished the job)
- window manager
- various editors
- RNA
- keymaps
The input tab of user prefs does not show 3D mouse settings. Key map
editor does not show NDOF mappings.
DNA does not change.
On my Mac the compiled binary is 42KB smaller after this change. It
runs fine WITH_INPUT_NDOF on or off.
|
|
See this page for motivation and description of concepts:
https://github.com/Ichthyostega/blender/wiki
See this video for UI explanation and demonstration of usage
http://vimeo.com/blenderHack/stabilizerdemo
This proposal attempts to improve usability of Blender's image stabilization
feature for real-world footage esp. with moving and panning camera. It builds
upon the feature tracking to get a measurement of 2D image movement.
- Use a weighted average of movement contributions (instead of a median).
- Allow for rotation compensation and zoom (image scale) compensation.
- Allow to pick a different set of tracks for translation and for
rotation/zoom.
- Treat translation / rotation / zoom contributions systematically in a
similar way.
- Improve handling of partial tracking data with gaps and varying
start / end points.
- Have a user definable anchor frame and interpolate / extrapolate data to
avoid jumping back to "neutral" position when no tracking data is available.
- Support for travelling and panning shots by including an //intended//
position/rotation/zoom ("target position"). The idea is for these parameters
to be //animated// by the user, in order to supply an smooth, intended
camera movement. This way, we can keep the image content roughly in frame
even when moving completely away from the initial view.
A known shortcoming is that the pivot point for rotation compensation is set to
the translation compensated image center. This can produce spurious rotation on
travelling shots, which needs to be compensated manually (by animating the
target rotation parameter). There are several possible ways to address that
problem, yet all of them are considered beyond the scope of this improvement
proposal for now.
Own modifications:
- Restrict line length, it's really handy for split-view editing
- In motion tracking we prefer fully human-readable comments, meaning we
don't use doxygen with it's weird markup and comments are supposed to
start with capital and end with a full stop,
- Add explicit comparison of pointer to NULL.
Reviewers: sergey
Subscribers: kusi, kdawg, forest-house, mardy, Samoth, plasmasolutions, willolis, sebastian_k, hype, enetheru, sunboy, jta, leon_cheung
Maniphest Tasks: T49036
Differential Revision: https://developer.blender.org/D583
|
|
solve the camera number limitation by iterating over main->movieclip.
|
|
- using open clip given by main->movieclip
- haven't set up clip pointer using main.movieclip
|
|
it is not needed since we have RegionSpaceClip now.
|
|
didn't consider the case that regiondata may be a NULL pointer. Since
dopesheet and graph are also Movie Editors and they don't have
regiondata. Other drawing code also has this problem, so it is not fully
solved. Will need to initialize regiondata for dopesheet and graph.
|
|
we don't need to iterate over all open spaceclip to find witness cameras
since we now know where the witness comes from (secondary_clip pointer).
However, the con is that we don't know how to access more than one
witness camera. Need to fix this later.
|
|
- Previously we need to iterate all windows to get witness clips, now we
don't need to do that because it can be accessed by secondary_clip
poitner in SpaceClip. Correspondence links are confined to
'correspondenc' mode.
- Restore 'synchronize two frame bars'
|
|
- change all ED_space_clip_get_clip to ED_space_clip_get_clip_in_region
to enable selection in correspondence mode. Since in this mode we need
to access winess clip (secondary_clip) pointer.
|
|
- main clip and witness clip seem to only differ in one pointer, use a
function utility to handle different context change, so that other
duplicate code for witness clip can be remove.
|
|
|
|
- duplicate code in clip_draw_secondary_clip and clip_draw_main
- selecting in a sub-region is a problem
|
|
fix region data free error
|
|
|
|
- error: when 'tracking' mode is clicked, it also enter into 'correspondence' mode.
the if-else logic was wrong
|
|
|
|
|
|
- this field is to specify main clip or secondary clip, used in drawing
code
|
|
Please follow the comment to see what's going on here.
Ideally i think we need to modify region_rect_recursive() so it does
proper business. Seems that will be safe since i couldn't find any
other usages of VSPLIT and HSPLIT, but want to have interface team
involved here since i might be missing something here.
|
|
|
|
Now all consistent and using term "properties region" instead of "properties panel". Ideally we had a more generic operator for all those.
Fixes T49006.
|
|
- each sub-region now has its own zoom and panning
- leave stabilization fields in SpaceClip as-is.
|
|
|
|
- mark zoom in SpaceClip as deprecated
- known issue: versioning is not done
|
|
|
|
|
|
in the progress of seperating view-dependent data fields from SpaceClip
to RegionSpaceClip
|
|
Make the operator consistent with animation dopesheet now.
|
|
- should check sc->view rather than sc->mode
- de-duplicate counting tracking code, by making it get_single_track
|
|
|
|
otherwise the multiview mode has problem in 'Motion Tracking' layout,
since dopsheet and graph are also counte when iterating through clips.
|
|
|
|
|
|
after consulting Sergey, I have exposed secondary_clip via RNA and then
fix the corresponding python ui bugs. The operator show now be able to load a
clip to secondary_clip pointer
|
|
|
|
know issue: cannot desync primary clip and secondary clip
|
|
|
|
|
|
|
|
|
|
|
|
|
|
* currently this implementation has known bugs:
- colors for linked tracks and selected linked tracks are not correct
- linked tracks in witness tracks are not shown correctly
|
|
|
|
- fix bugs in BKE_tracking_correspondence_add:
also check whether other_clip.other_track has been linked
previously hasn't done that
- remove check for correspondence number and clip number, previously
needs 8 correpondences and 2 clips to trigger multi-view
reconstruction
- format code to conform google style and blender style
|
|
- fix correspondence bug thanks to Sergey. ID pointers are to be
restored using lib pointer map
- move two function with BKE_ prefix to blender kernel
- format code according to blender coding style
|