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-08-01Code cleanup: silence some -Wnarrowing warnings from C++11Sergey Sharybin
2012-07-27Fix compile errors on VC++ 2012 RC1.Daniel Genrich
Note: Compile still fails during ceres compile (namespace tr1 problems).
2012-06-14Disable fixed-sized specializations for schur solverSergey Sharybin
As far as i remember Keir, this should be safe for our usages of ceres and it should save noticeable amount of time and used memory when compiling blender with libmv support. Quick tests with tracking went smooth after this.
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-11Fix compilation of new tracker for MinGW/MinGW64Antony Riakiotakis
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-11SVN maintenance.Guillermo S. Romero
2012-06-10Commit patch from Stephan Kassemeyer sent to MLSergey Sharybin
This patch aims to solve unaligned operation assert happens in Eigen library. This is short-term solution which in fact shall be reverted as soon as real solution would be added to Ceres. Meanwhile this should be acceptable to have for a while.
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-10Initial Ceres integration into BlenderSergey Sharybin
Currently only put sources of Ceres library into extern/libmv/third_party and setup CMake and SCons building systems. Integration details: - Even CMake build files are not re-used from Ceres's trunk: they're using some automatic stuff detection like glog, pthreads, protobuf and so and it's not so clear how to re-use that files without modifications. And IMO it's easier if build files are getting re-generated automatically to match Blender-specific setup rather than keeping changes made locally in Blender in sync when re-bundling Ceres library. Especially in case when it's already needed to support SCons build system. - Integrated only actual sources, all tests were stripped. Probably it'll be nice to have them, but they'll need clear integration with current module test stuff in Blender. - Suitesparse was disabled. It'll help a lot having it, but there are some difficulties making cholmod working fine on windows. Would be added in future - collections_port.cc was also stripped. It's not used by Ceres's upstream and it gives compilation error (undefined uint32 -- looks like namespace issue). - Currently all schur eliminators are included. Not sure if it makes sense, also not sure if it makes sense having them switchable on and off -- IMO better to have single configuration which works and does not require special tweaks after everything was set up. To bundle updated version of Ceres: - Go to extern/libmv/third_party/ceres folder - Run ./bundle.sh This will checkout fresh Ceres snapshot of Windows branch (which is currently most interesting from integration into Blender POV), apply all patches listed in patches/series and copy needed files into Blender's working copy. This will also re-generate CMake/SCons build rules. If you'll need extra files from Ceres repository which are not present in Blender, you'll need to copy them manually and then run ./mkfiles.sh from extern/libmv/third_party/ceres folder which will update list of files used by Blender. Thanks to Leir Mierle and Sameer Agarwal (and all others who helped developing Ceres) this library and thanks to Keir Mierle with help integrating it into Blender!
2012-05-10Style cleanup: use 2 spaces for indentation in bundle scriptsSergey Sharybin
2012-05-10Carve and libmv bundling scripts: should work with svn checkout nowSergey Sharybin
2012-05-10Synchronize libmv with changes in git branchSergey Sharybin
2012-05-09Remove unneeded and unused patch for libmvSergey Sharybin
2012-05-09Enhance logging in libmv's trackers.Keir Mierle
Cleanups in brute_region_tracker.cc.
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-24Add libMV and Scons support for MinGW-w64, patches by Caleb Joseph with ↵Antony Riakiotakis
slight modifications. Thanks!
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-14libmv: bundle new upstream version of libmv from own branchSergey Sharybin
Added modal solver module which is needed for tripod solving. For details of this solver read changelog of libmv.
2012-04-14Merging r44227 through r45619 from trunk into soc-2011-tomatoSergey Sharybin
2012-04-12libmv: bundle new upstream version from own branch with rigid registration ↵Sergey Sharybin
implementation Currently not used in blender code but is needed for some current work.
2012-04-11libmv: bundle new upstream version from own branch which should supportSergey Sharybin
compilation of glog on hurd platform.
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-23fix for cmake error on non osx systemsCampbell Barton
2012-03-21modify osx CMake hack so the CMake files can be parsed more easily by naive ↵Campbell Barton
my error checker.
2012-03-12Re-bundle libmv from own branch.Sergey Sharybin
Should resolve compilation error on some platforms when using linux and compilation error of libmv on FreeBSB. It was a regression caused by not applied changes on config_linux.h and some changes made to utilities.cc were also occasionally missed.
2012-03-12SVN maintenance.Guillermo S. Romero
2012-03-12Port changes from libmv/CMakeLists.txt to build rules files generator scriptSergey Sharybin
2012-03-11Bundle new upstream version of libmv from own branchSergey Sharybin
This version of libmv includes new gflags and glog libraries which makes it possible to compile libmv with clang compiler. Also remove code from CMakeLists which was disabling libmv if using clang. Tested on linux with gcc-4.6 and clang-3.0, windows cmake+msvc and scons+mingw. Could be some issues with other platforms/build system which shall be simple to resolve.
2012-03-11OSX/libmv: restrict the unwind.h workaround to 10.6.sdk onlyJens Verwiebe
2012-03-11OSX/libmv: added a ahck to fix compiling with 10.6.sdk, unwind.h relatedJens Verwiebe
2012-02-28revert r44503, (left patch file in for now), this gives an error with gcc:Campbell Barton
extern/libmv/third_party/glog/src/utilities.cc:318: error: undefined reference to 'google::InstallFailureFunction(void (*)())'
2012-02-28patch [#30331] Support clang-3.0Campbell Barton
from Yasuhiro Fujii (y-fujii) added the diff to libmv/patches so it can be applied upstream.
2012-02-21Somehow typo was made just before commit in previous patch.Sergey Sharybin
2012-02-21Camera tracing: search area was always centered to marker's position when ↵Sergey Sharybin
tracking
2012-02-18Merging r44140 through r44226 from trunk into soc-2011-tomatoSergey Sharybin
2012-02-18glog should now compile fine at FreeBSD 9 platformSergey Sharybin
2012-02-17Returning magic _USE_MATH_DEFINES to esm tracker.Sergey Sharybin
Needed to make constants like M_E defined in msvc. Was occasionally removed on moving main changes in libmv from patch files in blender repo to won repo (rev44190).
2012-02-17Camera tracking: switch to own repo of libmv where most of patches are appliedSergey Sharybin
and which includes latest changes from Keir's branch. Hopefully it'll make backporting of changes back to main libmv repo easier.
2012-02-12Merging r44003 through r44069 from trunk into soc-2011-tomatoSergey Sharybin
2012-02-11update gpl header in cmake filesCampbell Barton
2012-01-26Merging r43501 through r43720 form trunk into soc-2011-tomatoSergey Sharybin
2012-01-26Fix build on debian ports that differs from generic i386/x86_64 like kFreeBSDSergey Sharybin
Patch by Kevin Roy, thanks!
2012-01-18Merging r43130 through r43500 from trunk into soc-2011-tomatoSergey Sharybin
2012-01-12Fixing FreeBSD x64 buildSergey Sharybin
Patch by Shane Ambler, thanks!
2012-01-11Fixed typo in comments for libmv build rules filesSergey Sharybin
2011-12-31Sync changes from trunkSergey Sharybin
2011-12-15Merging r42621 through r42647 from trunk into soc-2011-tomatoSergey Sharybin
2011-12-15Added note that cmake/scons rules are automatically generated for extern/libmvSergey Sharybin
Also updated generation scripts and templates
2011-12-13Merging r42533 through r42601 from trunk into soc-2011-tomatoSergey Sharybin