Age | Commit message (Collapse) | Author |
|
|
|
- image space used wrong notifiers.
- image notifier now checks for mask mode before listening to mask edits.
- mask keyframes now draw in the image space.
|
|
then the context.
this allows a fix to be applied that corrects the helper line in the image view when transforming a mask.
|
|
|
|
- Remove clip/mask specific size/aspect getters, they shall just
use the same size/aspect ratio.
- Made size getter (and some other public functions) accept context
instead of SpaceClip. Currently only SpaceClip is being get from
this context, but later it'll be helpful when adding support of
editing mask without opening clip in clip editor (in this case
using render resolution for mask would be ideal, but this
requires knowing scene in size getter).
- Rearrange some functions in clip_editor.c for easier navigation
in the file.
|
|
|
|
|
|
|
|
|
|
start frame into account.
|
|
|
|
- Displays dopesheet information for selected tracks, and currently does not
support any kind of editing.
- Changed regions to use the whole main region for such views as curves and dopesheet.
This allows to have own panels with tools/properties in this area.
- Active clip is getting synchronized between different clip editor editors in the
same screen, so updating of curve/dopesheet views happens automatically when one
changes current clip in one of this editors.
- Panels in toolbox and properties panels are now separated to rely on current view
mode, but some operators and poll functions still need to be updated.
- Added new screen called "Movie Tracking" where layout is configured to
display timeline, main clip window, curves and dopesheet.
|
|
and dopesheet view into trunk
Mostly related on changes in poll functions for tracking operators and some changes
to how interface is initializing for different view types.
|
|
Should be no functional changes.
|
|
- Select All operator for selecting markers
- Disable selected markers operator
|
|
Made Set Floor a bit more general and name it Set Plane which defines
orientation from 3 selected tracks and makes them belong to specified
plane (wall or floor).
|
|
|
|
without the underscores these clogged up the namespace for autocompleation which was annoying.
|
|
- Renamed graph_jump_to_current_frame to graph_center_current_frame
which makes more sense.
- Curve view now can be locked to time cursor (Lock to Time Cursor in
Display panel or L button in curve view). Not sure if offset from
locked position will make much sense here.
- Added hotkey for solving -- Shift-S.
|
|
- Use proper poll functions for tracks curve operators.
- Darken frames outside of scene frame range in curves view.
- Implemented view all operator.
- Implemented jump to current frame operator.
|
|
This commit implements basic clipboard support for movie tracking data
int clip editor. Used own implementation of clipboard like it's done
for sequencer.
Ideally it needed to be switched to more general clipboard system, but
currently this system is designed for text data only and it need to
be re-designed itself. But this feature is quite useful since object
tracking is implemented, so it should be OK to live with such own
implementation for a while.
|
|
Added slider to define scale of object solution which is used to define
"depth" of object relative to camera position. This slider effects on all
"users" of object solution such as bundles display, constrained objects and so.
Added new operator called "Set Solution Scale" to set real scale for object
solution based on real distance between two bundles reconstructed for this object.
New slider and operator can be found on "Object" panel in toolbox when in
reconstruction mode and active tracking object isn't a camera.
|
|
This commit implements basis stuff needed for object tracking,
use case isn't perfect now, interface also should be cleaned a bit.
- Added list of objects to be tracked. Default there's only one object called
"Camera" which is used for solving camera motion. Other objects can be added
and each of them will have it;s own list of tracks. Only one object can be used
for camera solving at this moment.
- Added new constraint called "Object Tracking" which makes oriented object be
moving in the save way as solved object motion.
- Scene orientation tools can be used for orienting object to bundles.
- All tools which works with list of tracks or reconstruction data now
gets that lists from active editing object.
- All objects and their tracking data are available via python api.
|
|
===========================
- Changed 3D viewport reconstruction settings to more usable defaults
- Some code clean-up
- Option to place markers for detected features across the whole frame,
inside grease pencil areas or outside of grease pencil areas.
|
|
===========================
DeBalie commit (main changes only):
- Code cleanup
- Selectable tracking graph curves and curve knots
- Graph curve and curve knots can be deleted now
- Fixed wrong write when linking libraries
(error is caused by hardcoded cound of linkable ID blocks)
- Fixed for KLT tracker when using keyframe adjustment
|
|
===========================
Remove $Id$
|
|
===========================
Initial implementation of graph view for movie tracking data.
Used the same UI-side approach as preview region for sequencer:
create region for graph-related information inside clip editor.
It's easier and nicer than trying to hack graph editor which is
currently designed to work with AnimData only. Trying to make it
more abstract to deal with any kind of data doesn't seem be real
benefit for now.
Currently supported displaying per-frame average error and
selected tracks' movement speed (pixels per frame).
Additional changes:
- Collect per-frame average error after solving.
- Split space clip drawing code into different files.
- Added per-frame average solving error.
|
|
===========================
- Added python method MovieClip.tracking.tracs.add() to add new track.
Marker for this track is getting created on position (0, 0) and it's
keyframed to specified frame number.
- Implemented rotation 2D stabilization. It's supposed to be used in the
following workflow:
* Set tracks which defines location stabilization.
* Choose one track which defines orientation.
* Vector which connects median point of location and track used for
rotation would have the same orientation along all frames.
2D stabilization with rotation can be a bit slow.
- Some internal refactor and code clean-up.
|
|
===========================
- Added mode toggle operator.
- Hide Marker panel and show Display panel by default.
- Enable manual calibration by default.
|
|
===========================
initial re-design commit:
- Added Mode to Clip Editor. Currently the following modes are present:
* Tracking/Solving mode (default)
* Reconstruction mode
* Distortion mode
- Hide all tools/properties which doesn't make sense in current mode.
- Keep a look at new template template_marker. It's needed to control
marker's properties, changing of which should produce new keyframe.
Currently only "Enabled" property can be control. Probably all
properties from "Marker" panel could go there so this template
wouldn't be so specific.
- No operators are disabled for non-their mode. It means they
can be triggered from Space menu or hotkey.
Need clear map operators into mode to prevent mess of poll function.
|
|
===========================
Added grease pencil to clip editor.
Idea is to use it for supervised camera calibraiton.
"Disable Marker" hotkey was changed to Shift-D
|
|
===========================
Initial integration of proxies into movie clip editor.
Known issue: marker preview area uses proxyed image,
hopefully fix would be available soon.
|
|
===========================
Request from some artists and initial idea: own frame scrubber for clip editor.
- Display current frame number in small rectangle near current frame marker
in clip editor.
- Mouse can be used to change current frame. It is almost the same as
for timeline. Changing of frame happens when mouse is slidding in 16px
height area in the bottom of clip editor.
|
|
===========================
- 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.
|
|
===========================
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.
|
|
===========================
- Operator "Join Selected Tracks".
This operator joins all selected tracks to active track.
Hotkey is Ctrl-J.
- Operator "Select Grouped".
Now it's easy to select all locked/keyframes/etc markers.
Hotkey is Shit-G.
- Operator to jump to beginning/end of active path.
Hotkeys are Shift+Ctrl+Arrow Left/Right.
- Operator to copy color from active track to all tracks.
|
|
===========================
- Internal change: do not use maroses for checking the only
one bit of track/marker flags.
- Do not display track name for disabled markers when
"Show Disabled" is turned off.
- Option to lock tracks. Locked tracks can't be be moved,
scaled, re-tracked and so.
|
|
===========================
- Track preview widget is now resizeable.
- Marker position could now be adjusted from track
preview widget.
|
|
===========================
- Bundle re-newed libmv library.
- Update API in libmv-capi to match new library.
- Initial implementaition of feature detection.
- Fixed bug with incorrect user sync when tracking
for first frame.
|
|
===========================
- Tracking camera presets.
- Reset principal to image center operator.
Things to think about:
- Unified presets for tracking camera and blender camera.
- If prinipal should be a part of preset.
|
|
===========================
Initial implementation of Scale operator.
There's no access from operator panel to operators defined for
Clip Editor space, so distance can't be controlled as operator
property.
Added new property to MovieTrackingSettings for this.
|
|
===========================
- Report an error if more than needed tracks are selected
for orientation operators.
- Added possibility to align bundle along X or Y axis.
|
|
===========================
Basic implementation of scene orientation tools.
Most probably they'll eb re-exposed in UI soon.
- Implemented "Set Floor" operator.
It takes three
selected tracks which has got bundles and makes them
parallel to scene floor. One of selected bundles (active
bundle if presents) becomes scene origin, the other
becomes X-axis. Guessing of this bundles could fail.
Camera tries to be on positive Z half-space.
- Implemented "Set X-axis" operator.
This operator takes selected track with bundle and
aligns it along X-axis. This means rotation to make
Y-coord of this bundle 0 is applied.
- If camera has got a parent, then transformation would
be applient ot this parent, not to camera.
Useful for configuration when Empty is used to orient
camera and some related stuff in 3D space.
|
|
===========================
- Fixed incorrect usage of RNA structure for
CameraSolverConstraint.
- Fixed some typos in object_constraint which were
casting CameraSolver data to FollowTrack data.
- Tracking-related constraints now have got option
"Use Defult Clip" which makes them use clip set as
active for scene. Enabled by default.
- Set active blender camera focal length after reconstruction.
- Corrected offset of sequence images. Now first image from sequence
should be at scene frame 1.
|
|
===========================
- Implemented hide/show track functionality.
- Small re-exposing Marker menu into UI.
Now it's called "Track". Added new operators there.
- Set reconstructed clip as active to scene.
|
|
===========================
Improved marker size/position adjustment:
- Rollback selection model so selected parts of marker
would be disabled only when "extension" click happens.
- Implemented left mouse sliding to adjust marker position
(using small square in left top corner of search area) and
size of pattern/search (using small triangle it right bottom
corner of marker)
|
|
===========================
- Made settings for tracking non-animatable.
- Fixed crash when enabling/disabling markers from
"Specials" menu.
- Translate all coords to make first reconstructed camera
be at position (0,0,0).
- Blender's camera now affects on reconstructed data.
Bundles are "parented" to active scene camera. So now
bundles' could could be scaled and rotated when camera
is rotating/scaling.
|
|
===========================
- 32 bit linux compilation should be fixed now.
- Camrea reconstruction data should be better now
when there's no reconstructed cameras.
- Implemented "Set Origin" operator
- Added "Specials" W-key menu for SpaceClip.
Supports such operators:
* Enable track
* Disable track
* Set origin
|
|
===========================
- ColaMD moved from OpenNL to extern/.
It'll be needed for libmv. Also, it's a bit updated from
year 1999 to 2007.
Need to be tested for regressions.
- Updated bundling script for libmv. Now it uses fuller
subset of this library.
- Bundled new libmv.
- Request from Keir: add command line argument to toggle logging
stuff on. Currently, if Blender is launched with -d argument
libmv would start printing logging messages. There's no
argument to increase verbosity, but there's API in libmv-capi,
so it'll be easy to add.
- Finally fixed crash when ibuf is acquiring with user=NULL.
- Added ActiveClip property to the scene. This clip is used
as default value for new match-moving constraints.
- Added some flags to Display panel of View3D. Related on
displaying match-moving stuff.
- Internal change: bundles data moved inside to MovieTrackingTrack.
- Initial implementation of 3d reconstruction.
- Added constraint "Camera Solver". This constraint is supposed
to be used to make camera follow the reconstructed camera path.
- Added "reference" property to "Follow Track" constraint.
Now object could be "parented" to 2D track position or to
3D bundle position.
The very quick guide:
To use reconstruction you should have footage with tracked markers,
choose two keyframes in "Tracking settings" panel. There should be
quite noticeable parallax effect between this two frames. This
is used to initialize reconstruction stuff.
Camera data (focal length and optical center) should be filled in
"Camera Data" panel. Optical center is often the center of image,
so it'll be filled in automatically.
You should also set values for undistortion (K1, K2 and K3). Currently,
there's no any visualization for this parameters and approach of
"change value -> reconstruct -> see what've changed" is the only way
for now.
Libmv team is working on auto-calibration tool, so it should be
easier to gather this coefficients in nearest (i hope) future.
There's also no scene orientation stuff.
Basic workflow:
- Open footage.
- Set markers and track them.
- Fill in camera data and keyframes.
- Hit "Solve Camera" button.
- Add "Camera Solver" constraint to camera in scene.
- Choose movieclip in that constraint.
- To see bundles in 3D viewport active clip should be set
in scene buttons.
|
|
===========================
- Internal changes:
* Fixed bundle.sh script to bundle libmv: it was generating
incorrect CMakeLists header.
* Rename CLIP_OP_delete to CLIP_OT_delete_track.
* Fixed crash when BKE_movieclip_acquire_ibuf is called
with NULL user.
* Made MovieTrackingMarker structure 8-bytes aligned
* Use writestruct rather than writedata for track markers.
This allows to change MovieTrackingMarker safely.
- Added "Delete Marker" operator which deletes marker for
current frame only. Hotkey is Shift-Del.
- Added MovieClip.size and MovieClip.resolution RNA properties.
Use last accessed frame number to get ImBuf from sequence.
- Added different actions for "Clear Path" operator:
* Clear path up to current frame.
* Clear the whole path.
* Cleat remained part of path (for frames after current).
- Changed buttons order and icons for tracking. New order is:
* Track frame backwards.
* Track sequence backwards.
* Track sequence forwards.
* Track frame forwards.
NOTE: this breaks compatibility with existing .blend files again,
but it should be much easier to change data structures without
breackaged in the future.
|