Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2012-09-15Silent compiler's warnings about tracking moduleSergey Sharybin
2012-09-03fix [#32434] Copy-Paste Tracks causes Blender to freeze/crash on second use.Campbell Barton
2012-08-12style cleanupCampbell Barton
2012-08-01fill in dummy values when using movie clip distort node but compiled without ↵Campbell Barton
libmv.
2012-07-29code cleanup: replace MIN2/MAX2 with minf/maxfCampbell Barton
2012-07-27Added utility function to return marker's subframe positionSergey Sharybin
Used in mask parenting stuff.
2012-07-26fix some types and incorrect infoCampbell Barton
2012-07-07code cleanup: dont use function calls like dot_v3v3, pow and sqrt within ↵Campbell Barton
macros which results in calling the function multiple times needlessly. also added some comments.
2012-07-03More spell and typo fixes (mostly visualise->visualize, grey->gray, ↵Bastien Montagne
normalise->normalize).
2012-06-25Camera solver: take track offset into accountSergey Sharybin
This helps in cases when it's needed to track a feature which goes out of screen for a while to prevent jump of camera.
2012-06-22use an inline function for rgb -> bw conversion.Campbell Barton
2012-06-16style cleanupCampbell Barton
2012-06-15Remove unused code and correct comment for track mask AASergey Sharybin
Tip: XXX should be used for such kind of crap which is bad for release disabled AA for mask is not such a case.
2012-06-15fix for building without libmvCampbell Barton
2012-06-152D stabilization didn't work since clip start frame commitSergey Sharybin
2012-06-15Internal refactoring of tracking module, should be no functional changesSergey Sharybin
- Re-arrange functions in headers and implementation file to make them more grouped by entity they're operating with. Also order of functions in implementation file should match order of functions in header for easier navigation. - Rename some functions to match conventions of naming public functions. - Some code de-duplication, still some room for improvements tho. - Split main 2D tracking functions into smaller steps to make it more clear. Accidentally OpenMP was disabled in some of previous commits, re-enable it.
2012-06-13add Anti-Aliasing (very rough draft algorithm, NOT FINAL version) to raskter ↵Peter Larabell
lib. Code is still quite messy but will be replaced when final algo comes in anyway.
2012-06-13yse BLI_math for the compositor in more places.Campbell Barton
2012-06-12Some Clip Editor interface clean-ups:Sergey Sharybin
- Display track's reprojection error in dopesheet - Make sure track is selected when clicking on dopesheet channel - Attempt to make headers a bit cleaner without long labels which doesn't actually make sense.
2012-06-12Added options to display only selected tracks and show hidden tracksSergey Sharybin
in motion tracking dopesheet view. By default all channels are displaying now.
2012-06-12Make dopesheet settings per-tracking dataSergey Sharybin
It was a bit confusing to synchronize settings used in pre-calculated dopesheet channels which was storing in tracking data with settings used for display which is in space data. This was initially done by converting one flags to other and checking if space's settings matches pre-calculated one, but that had several issues if two different dopesheet are using different settings: - Channels would be re-calculated on every redraw for each of spaces - Dopesheet operators could fail due to the could be using channels calculated for other space. That was also quite nasty code checking if requested settings matches pre-calculated one.
2012-06-12Masking support for motion tracksSergey Sharybin
Added option to use Grease Pencil datablock as a mask for pattern when doing motion tracking. Option could be found in Tracking Settings panel. All strokes would be rasterized separately from each other and every stroke is treating as a closed spline. Also added option to apply a mask on track preview which is situated just after B/B/W channel button under track preview.
2012-06-11Scale search area when doing planar trackingSergey Sharybin
Helps keeping features tracked when there's large scale happens without need to manually re-adjust search area. Currently using factor of pattern's boundbox scale, but probably could be done in more accurate way?
2012-06-11Move all marker placement into a single omp critical sectionSergey Sharybin
Could give small speadup.
2012-06-10style cleanupCampbell Barton
2012-06-10Fix compilation without libmvSergey Sharybin
2012-06-10Planar tracking support for motion trackingSergey Sharybin
=========================================== Major list of changes done in tomato branch: - Add a planar tracking implementation to libmv This adds a new planar tracking implementation to libmv. The tracker is based on Ceres[1], the new nonlinear minimizer that myself and Sameer released from Google as open source. Since the motion model is more involved, the interface is different than the RegionTracker interface used previously in Blender. The start of a C API in libmv-capi.{cpp,h} is also included. - Migrate from pat_{min,max} for markers to 4 corners representation Convert markers in the movie clip editor / 2D tracker from using pat_min and pat_max notation to using the a more general, 4-corner representation. There is still considerable porting work to do; in particular sliding from preview widget does not work correct for rotated markers. All other areas should be ported to new representation: * Added support of sliding individual corners. LMB slide + Ctrl would scale the whole pattern * S would scale the whole marker, S-S would scale pattern only * Added support of marker's rotation which is currently rotates only patterns around their centers or all markers around median, Rotation or other non-translation/scaling transformation of search area doesn't make sense. * Track Preview widget would display transformed pattern which libmv actually operates with. - "Efficient Second-order Minimization" for the planar tracker This implements the "Efficient Second-order Minimization" scheme, as supported by the existing translation tracker. This increases the amount of per-iteration work, but decreases the number of iterations required to converge and also increases the size of the basin of attraction for the optimization. - Remove the use of the legacy RegionTracker API from Blender, and replaces it with the new TrackRegion API. This also adds several features to the planar tracker in libmv: * Do a brute-force initialization of tracking similar to "Hybrid" mode in the stable release, but using all floats. This is slower but more accurate. It is still necessary to evaluate if the performance loss is worth it. In particular, this change is necessary to support high bit depth imagery. * Add support for masks over the search window. This is a step towards supporting user-defined tracker masks. The tracker masks will make it easy for users to make a mask for e.g. a ball. Not exposed into interface yet/ * Add Pearson product moment correlation coefficient checking (aka "Correlation" in the UI. This causes tracking failure if the tracked patch is not linearly related to the template. * Add support for warping a few points in addition to the supplied points. This is useful because the tracking code deliberately does not expose the underlying warp representation. Instead, warps are specified in an aparametric way via the correspondences. - Replace the old style tracker configuration panel with the new planar tracking panel. From a users perspective, this means: * The old "tracking algorithm" picker is gone. There is only 1 algorithm now. We may revisit this later, but I would much prefer to have only 1 algorithm. So far no optimization work has been done so the speed is not there yet. * There is now a dropdown to select the motion model. Choices: * Translation * Translation, rotation * Translation, scale * Translation, rotation, scale * Affine * Perspective * The old "Hybrid" mode is gone; instead there is a toggle to enable or disable translation-only tracker initialization. This is the equivalent of the hyrbid mode before, but rewritten to work with the new planar tracking modes. * The pyramid levels setting is gone. At a future date, the planar tracker will decide to use pyramids or not automatically. The pyramid setting was ultimately a mistake; with the brute force initialization it is unnecessary. - Add light-normalized tracking Added the ability to normalize patterns by their average value while tracking, to make them invariant to global illumination changes. Additional details could be found at wiki page [2] [1] http://code.google.com/p/ceres-solver [2] http://wiki.blender.org/index.php/Dev:Ref/Release_Notes/2.64/Motion_Tracker
2012-06-08Added sorting by average reprojection error to motion tracking dopesheet.Sergey Sharybin
2012-06-06Changed semantic of recently added start_frameSergey Sharybin
Now it's indicates at which scene frame number movie clip starts playing back. This this setting is still belongs to clip datavlock and used by all users of clip such as movie compositor nodes, constraints and so. After long discussion and thoughts about this it was decided that this would match image's current behavior (which initially seen a bit crappy), but that's actually allows: - Keep semantics of start frame in image and clip datablocks in sync - Allows to support features like support of loading image sequences with crappy numbers in suffix which doesn't fit long int. - Allows to eliminate extra boolean checkbox to control such kind of offset. Hopefully from pipeline POV it wouldn't hurt because idea of having this things implemented in original way was working only if sequence before processing started naming form 001.
2012-05-23Camera tracking: imbuf (un)distoriton used to set RECT_INVALID flag for ↵Sergey Sharybin
source image instead of destination This lead to wrong proxies generated for openexr float image sequences
2012-05-16Code cleanup: simplify standard GHash creation.Nicholas Bishop
Added four new functions as shortcuts to creating GHashes that use the standard ptr/str/int/pair hash and compare functions. GHash *BLI_ghash_ptr_new(const char *info); GHash *BLI_ghash_str_new(const char *info); GHash *BLI_ghash_int_new(const char *info); GHash *BLI_ghash_pair_new(const char *info); Replaced almost all occurrences of BLI_ghash_new() with one of the above functions.
2012-05-09Camera tracking: exr frames used to be displayed in linear spaceSergey Sharybin
It was a regression since texture buffer merge from tomato, now ensure all display happens in sRGB space as it used to be before.
2012-05-09Camera tracking: fixes for tracking of float imagesSergey Sharybin
- Fixed suddenly disappearing preview image from track widget - Also suddenly stopping tracking should be fixed now Both issues were caused by mixing working with floats and bytes and in some cases it was wrong or missed checks done for this.
2012-05-07Style cleanup of own modules using style checker from Campbell.Sergey Sharybin
2012-05-05code cleanup: BKE_scene api naming.Campbell Barton
also stop numpy from being found in /usr/include with cmake.
2012-05-05code cleanup: function naming, use BKE_*type* prefix.Campbell Barton
2012-05-04Style cleanup: spaces around operatorsSergey Sharybin
2012-05-04Camera tracking: switch dopesheet information to lazy calculationSergey Sharybin
All operators which changes tracking data now just tags dopsheet as outdated, actual re-calculaiton of happens only when this information is actually needed (like on dopesheet draw). This makes things a bit faster when there's no dopesheet visible in current screen and also makes it much easier to update dopesheet using dependency graph. Also renamed dopesheet_sort_order to dopesheet_sort_method in rna and internal stuff which makes much more sense and also correlated with naming in file browser.
2012-05-03Clip editor: sort order for dopesheet channelsSergey Sharybin
Supported sorting by name, longest tracked segment and total tracked frames. Internally tracks are stored in Tracking datablock, but sort order is a clip editor space property and sorting happens on clip editor draw. If there's no dopesheet opened with different sort orders it's not a problem due to re-sorting wouldn't happen. Also fixed draw issue of tracked segments introduced in previous commit.
2012-05-03Camera tracking: pre-calculate tracked segments for dopesheet channelsSergey Sharybin
2012-05-03Camera tracking: clear clipboard path before copying tracks to it.Sergey Sharybin
2012-04-30Camera tracking: initial commit of dopesheet view for clip editorSergey Sharybin
- 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.
2012-04-28Camera tracking: support of tripod motion solvingSergey Sharybin
Expose option into interface to use modal solver which currently supports only tripod motion. This solver requires two tracks at least to reconstruct motion. Using more tracks aren't improving solution in general, just adds instability into solution and slows down things a lot. Refirement of camera intrinsics was disabled due to it's not only refines camera intrinsics but also adjusts camera position which isn't necessary here To use this solver just activate "Tripod Motion" checkbox in solver panel. Merged from tomato: svn merge ^/branches/soc-2011-tomato -r45622:45624 -r46036:46037 P.S. Quite experimental yet, requires more checking and probably tweaks to prevent camera jumps when tracks apperars/disappears from the screen.
2012-04-14Camera tracking: support of tripod motion solvingSergey Sharybin
Expose option into interface to use modal solver which currently supports only tripod motion. This solver requires two tracks at least to reconstruct motion. Using more tracks aren't improving solution in general, just adds instability into solution and slows down things a lot. Refirement of camera intrinsics is supported by this solver. To use this solver just activate "Tripod Motion" checkbox in solver panel.
2012-04-07Disabling color channels for float images in clip editor now works fine.Sergey Sharybin
2012-03-30Camera tracking refactoring:Sergey Sharybin
- Deduplicate patetrn sampling used in esm and lmicklt trackers and move SamplePattern to image/sample.h - Move computation of Pearson product-moment correlation into own function in new file image/correlation.h so all trackers can use it to check final correlation. - Remove SAD tracker. It's almost the same as brute tracker, with only two differences: 1. It does brute search of affine transformation which in some cases helps to track rotating features 2. It didn't use common tracker api which probably gave some speed advantage, but lead to a real headache to use it together with other trackers leading to duplicated code in blender side. - Switch blenedr to use brute tracker instead of sad tracker which tracking made source code much more simple to follow.
2012-03-26Default settings for new movie clip tracking now is the same as Default presetSergey Sharybin
2012-03-26Code style cleaup for motion-tracking modules.Sergey Sharybin
Should be no functional changes.
2012-03-24style cleanup: follow style guide for/with/if spacingCampbell Barton
2012-03-24style cleanup: follow style guide for formatting of if/for/while loops, and ↵Campbell Barton
else if's