Commit Graph

2599 Commits

Author SHA1 Message Date
Sergey Sharybin
cf6c261cc8 Camera tracking integration
===========================

- 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.
2011-08-02 18:25:18 +00:00
Sergey Sharybin
1694e5978a Merging r38898 through r38940 from trunk into soc-2011-tomato 2011-08-02 17:32:19 +00:00
Sergey Sharybin
b5716beef0 Camera tracking integration
===========================

- 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.
2011-08-01 15:28:19 +00:00
Sergey Sharybin
fe4946df93 Camera tracking integration
===========================

Fixed some more typos.
2011-07-29 20:57:53 +00:00
Sergey Sharybin
6745e45c48 Camera tracking integration
===========================

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.
2011-07-29 15:25:00 +00:00
Sergey Sharybin
feffc920bb Merging r38780 through r38818 from trunk into soc-2011-tomato 2011-07-29 15:18:14 +00:00
Nathan Letwory
24def76ac8 svn merge -r38753:38813 https://svn.blender.org/svnroot/bf-blender/trunk/blender . 2011-07-29 07:58:03 +00:00
Sergey Sharybin
2dc826f083 New option for multires modifier: Subdivide UVs
Enabled by default and also enabled for older filesm so
there should be no regressions.

In some cases it's useful to not use subdivided uvs for multires.
2011-07-28 11:16:10 +00:00
Sergey Sharybin
e2566984ed Merging r38733 through r38779 from trunk into soc-2011-tomato 2011-07-28 11:01:38 +00:00
Nathan Letwory
73a9ce7ec0 svn merge -r38558:38752 https://svn.blender.org/svnroot/bf-blender/trunk/blender . 2011-07-27 07:42:53 +00:00
Campbell Barton
46cea37266 fix [#28066] Unchecking 'self project' messes up 'Snap to Vertex'
this option is useful for all non-grid snapping modes (when in editmode) so make available in those cases too.
2011-07-27 07:22:31 +00:00
Mike Erwin
72f70874bb experimental onscreen rotation guide 2011-07-26 02:35:46 +00:00
Sergey Sharybin
e535c63fdc Camera tracking integration
===========================

- Split clip hotkeys into two categories:
  * Global
  * Editing
  This allows to re-use such hotkeys as track markers
  from properties region without worrying about conflicts.
- Anchor point could now be offseted from marker position.
- Pattern can now be symmetrical relative to marker position only.
- Changes to mouse sliding:
  * Left top rectangle used for marker position and now
    it's half inside and half outside of marker.
  * Right bottom corners are for size.
  * Anchor point can be slided with mouse to adjust offset.
- Resolved conflict caused by left-mouse selection option.
  Now it works perfectly with sliding -- no more "sticky" keys or so.
- Fixed some typos.
2011-07-25 18:11:22 +00:00
Mike Erwin
c692351fdf added option to invert axes for orbiting (part 1 of 2) 2011-07-25 00:20:45 +00:00
Sergey Sharybin
22e08353e2 Merging r38562 through r38614 from trunkinto soc-2011-tomato 2011-07-22 16:58:22 +00:00
Ton Roosendaal
ea90544d65 Need some fun once a while:
On dragging a non-connected node on a noodle, it will insert it.
Functionality tweaks are possible, but it already feels non-intrusive.

Rules:
- Insertion only when a single noodle is intersecting with node.
- Default connects first matching socket type. 
- If no socket match, it connects the first.
2011-07-22 15:28:50 +00:00
Campbell Barton
58895bee7b fix [#28052] PET: Shift-O cycling skips "random falloff" 2011-07-21 23:36:17 +00:00
Mike Erwin
407a2a8439 tweaked ephemeral ndof data types 2011-07-21 21:40:04 +00:00
Sergey Sharybin
0de7e49a10 Merging r38516 through r38561 from trunk into soc-2011-tomato 2011-07-21 15:04:41 +00:00
Nathan Letwory
eea7c358c7 svn merge -r37276:38555 https://svn.blender.org/svnroot/bf-blender/trunk/blender . 2011-07-21 09:40:59 +00:00
Sergey Sharybin
cd332d571a Camera tracking integration
===========================

- Fixed crash when transforming disabled marker.
- Select Inverse wouldn't select hidden parts of markers.
- Movie Clip display aspect ratio is now available on Display panel.
2011-07-21 09:23:25 +00:00
Campbell Barton
28780342ed fix/workaround [#28040] float images reduced to 256 levels per channel upon save
Generated images would not be re-generated with a float buffer on load, even when selected on creation.
Now save the float buffer setting as a generated image flag.

This means you can enable before baking to enable baking to a float buffer.
2011-07-21 00:41:00 +00:00
Sergey Sharybin
ac57527895 Camera tracking integration
===========================

- Fixed crash when holding down S and R keys.
- Fixed deleting of first marker.
- Tracking should now work fine with float buffers.
- Added option to show distortion grid. It's most probably
  temporary solution until [auto]calibration tools aren't
  merged.
  This grid defines straight lines on the image.
2011-07-20 20:31:25 +00:00
Sergey Sharybin
76a6564e3b Camera tracking integration
===========================

Test feature: configurable marker colors in Clip Editor.

Use presets, so plenty of different color could be defined and
easily re-used.
2011-07-20 15:02:49 +00:00
Sergey Sharybin
add176fe6a Camera tracking integration
===========================

- Hide all reconreuction-related sliders from Display N-panel
  of 3D viewport if "Show Reconstruction" is turned off.
- Added setting for shape of bundle. Default is sphere.
2011-07-20 12:46:22 +00:00
Sergey Sharybin
0fec30a35f Camera tracking integration
===========================

- 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.
2011-07-20 10:51:47 +00:00
Sergey Sharybin
a53fc2d306 Camera tracking integration
===========================

- Selected bundles are now highlighted with outline.
  It looks more Blender-way of highlighting selected items.
- Added option to show bundles names in 3D viewport.
- Bundles now coudl be selected from 3D viewport.
2011-07-19 20:22:03 +00:00
Sergey Sharybin
b9c6a20354 Merging r38454 through r38515 from trunk into soc-2011-tomato 2011-07-19 19:58:01 +00:00
Sergey Sharybin
53f5ca931e Camera tracking integration
===========================

- Fixed smal lbug with mouse selection.
- Added option to show tracks names and their states
  (disabled, keyframed, estimated, tracked).
2011-07-19 12:42:01 +00:00
Sergey Sharybin
146a184d2a Camera tracking integration
===========================

- Remove set but not used variable in clip buttons.
- Set keyframe when sliding marker with mouse.
- Also set keyframe when sliding from preview widget.
2011-07-19 10:40:22 +00:00
Dalai Felinto
d8e216833a cleanup of scene->gamedata DNA
xsch and ysch were originally planed to replace the scene->r.xsch/r.ysch
however in blender/3dview we still need to use the r. values. Therefore we can't really run
from using those values even in bplayer. So removed the values in gamedata.

The way it's now, render values (xsch and ysch) are responsible for aspect ratio and gamedata xplay and yplay are responsible for the size of the window.
2011-07-19 02:47:43 +00:00
Sergey Sharybin
426ca2ef89 Camera tracking integration
===========================

- Enable disabled markers when sliding from preview.
- Refresh space clip when marker is moving from preview.
2011-07-18 19:06:18 +00:00
Sergey Sharybin
3a6ea7b5e1 Camera tracking integration
===========================

- Track preview widget is now resizeable.
- Marker position could now be adjusted from track
  preview widget.
2011-07-18 14:54:32 +00:00
Sergey Sharybin
1d668e39d8 Merging r38390 through r38418 from trunk into soc-2011-tomato 2011-07-15 20:22:01 +00:00
Janne Karhu
729498ab2d Fix for [#26712] Particle group instance 'Use Count' value gets reset on file-load.
* New object pointers can't be loaded properly for library linked groups, so the weight groups now store an index to the group objects at save time. This index is used at load time to set the objects without relying on the old pointers.
* If the library linked group is modified the indices can be wrong, but this can't really be avoided easily as there's no way to relate objects in a linked group between loads.
2011-07-15 13:32:02 +00:00
Sergey Sharybin
6be184e45e Camera tracking integration
===========================

Changes to tracking camers settings, so they could
be copied to Blender camera on reconstruction.

Sensor height doesn't make any sense yet for tracking camera.
2011-07-14 15:21:55 +00:00
Sergey Sharybin
db5b89a320 Camera tracking integration
===========================

Commiting patch #24427: Editable camera sensor size (meaningful focal length units)

Thanks to:
  Matt Ebb (author of original patch)
  Ejner Fergo (porting patch through versions)
  Brecht Van Lommel, Dalai Felinto, Campbell Barton (patch review)

Cant't commit changes to addons (they aren't branched, so some of them
could be broken now)
2011-07-14 15:21:45 +00:00
Sergey Sharybin
b50fe8aa9c Camera tracking integration
===========================

Enable markers on transform
2011-07-14 13:36:15 +00:00
Sergey Sharybin
a889ffad1c Camera tracking integration
===========================

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.
2011-07-14 12:52:50 +00:00
Sergey Sharybin
be73c3bd4c Camera tracking integration
===========================

Small fixes and features:
- Fixed broken toolshelf for empty space clip.
- Added option to hide disabled tracks.
- Do not send disabled markers to tracking job.
- Fixed bug with disabling marker when tracking backwards.
- Fixed bug with unset principal point by default.
- Hide bundle projection for disabled markers.
- Flip orientation when hitting "Set Axis" when bundle is
  already defines axis.
2011-07-14 12:05:40 +00:00
Mike Erwin
b2eb2a00f1 introduce variables for ndof settings 2011-07-14 03:27:33 +00:00
Sergey Sharybin
dd0d761f48 Camera tracking integration
===========================

Previous solution to make bundles work for parented camera
wasn't very nice. It could totally confuse depsgraph and it's
quite slow.

Now i've implemented function where_is_object_mat which makes
almost the same as where_is_object_time, but it:
- Does not applies constraints.
- Assumes matrices for all dependencies are valie already
  (handles by depsgraph).
- Doesn't make any changes to object itself or it's
  dependencies.
2011-07-13 10:30:42 +00:00
Sergey Sharybin
fa34bcf6ee Camera tracking integration
===========================

Attempt to fix bundles position for case scene camera has got
other constraints than CameraSolver (mostly to support camera
parenting to other object for scene orientation).

Use a bit silly logic to calculate camera matrix to orient
bundles in 3d space: temporary disable all CameraSolver
constraints for camera, re-calculate object matrix, use it
to orient bundles and clear temporary flag.

This allows to parent both of camera and mesh created from
bundles to the same Empty object and both of bundles and
mesh vertices would have the same coords in camera space.

Also removed copying of location/rotation from camera to
bundles object in "Bundles to Mesh" operator.
2011-07-13 08:26:33 +00:00
Sergey Sharybin
d89d162e28 Camera tracking integration
===========================

- Fixed buf with under reference for Follow Track constraint.
- Get rid of BKE_movieclip_approx_size. Rather than accessing
  to cache with previously set frame number it'll be easier to
  store size of last accessed in "runtime" DNA.
2011-07-12 13:35:25 +00:00
Sergey Sharybin
b821244614 Camera tracking integration
===========================

- Reduced size of widget for camera focal length units.
  Also changed labels to mm/px. Now it's much easier to read
  values and titles here.
- Reordered settings in "Display" panel. Hopefully it's
  now easier to read options here even when N-panel
  isn't large enough.
- Fixed bug with "disappearing" labels from "Active marker" panel.
- If search areas are hidden and marker is disabled,
  make pattern area red rather than displaying nothing for
  this marker.
- Internal change: "show marker path" became "show track path".
- Lock shape of pattern to square by default. Control unlocks
  this shape.
- Hitting escape when sliding cancels changes and stops sliding.
- Search areas are hidden by default now. No big benefit of
  looking at them now after changing default settings to
  2D tracker and pattern/search size.
- Both of Toolshelf and Properties panels are now visible
  by default.
- Move keyframes from Properties panel to Toolshelf.
  It is a key thing which makes reconstruction correct and
  this options were too hidden and not so convenient to
  use.
2011-07-12 11:46:46 +00:00
Sergey Sharybin
2543e01052 Camera tracking integration
===========================

- 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.
2011-07-11 17:13:27 +00:00
Sergey Sharybin
08bd300f0e Camera tracking integration
===========================

- Changed libmv api to use doubles instead of floats.
  No real benefit rather than keeping API uniform.
- Optimized reconstructed camera search. It's optimized for
  playback, not random access.
- Added option to show projection of bundles into footage.
  To see bundles "Show Bundles" from Display panel should
  be enabled. Used very rough limit of 3 px to consider projection
  is fine. Colors are still hard-coded. Not sure it could be useful
  to make them configurable.
- Added option to mute footage. It could be useful to check
  if markers/bundles are moving smoothly.
- Added selector for focal length units.
2011-07-11 09:04:00 +00:00
Sergey Sharybin
0277b36b76 Camera tracking integration
===========================

- Fixed sub-pixel precision error when sliding markers.
- Made sliding areas smaller.
- Remove "Debug" menu,
- pep8 cleanup.
2011-07-10 18:12:29 +00:00
Sergey Sharybin
b16a448e8d Camera tracking integration
===========================

Clean-up: animation data is not necessery in MovieClip. Removing.

It'll be easy to add it back just reverting this commit.
2011-07-09 19:57:29 +00:00
Sergey Sharybin
964c3cb0fa Camera tracking integration
===========================

- 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.
2011-07-09 19:51:23 +00:00