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
path: root/extern
AgeCommit message (Collapse)Author
2012-02-17unify include guard defines, __$FILENAME__Campbell Barton
without the underscores these clogged up the namespace for autocompleation which was annoying.
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-17Drag-n-drop support on LinuxSergey Sharybin
This commit implements drag-n-drop support from external applications into Blender. Used xdnd implementation from Paul Sheer.
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-11update gpl header in cmake filesCampbell Barton
2012-02-05BGE bug #18883: Softbodies being hit by ghost objects. Added a one liner ↵Benoit Bolsee
fix in Bullet. I will also report the fix to Erwin so that it can be added to next Bullet version.
2012-01-30Fix #29993: Boolean modifier crashes BlenderSergey Sharybin
Crash was caused by error in Carve triangulator. Fixed by upgrading Carve library.
2012-01-26Fix build on debian ports that differs from generic i386/x86_64 like kFreeBSDSergey Sharybin
Patch by Kevin Roy, thanks!
2012-01-17Updated Carve bundling script and patchesSergey Sharybin
2012-01-17Fix carve compile error with gcc 4.6, patch by Stephen McQuay.Brecht Van Lommel
2012-01-17Compilation error when using mingw+sconsSergey Sharybin
Error was caused by boost library (which doesn't seem to be working with Cycles too when compiling with mingw). Switched mingw to use TR1 unordered collections. Also, there was re-declaration of strcasecmp when mingw is used. Additional changes are related on using own process spawning when BF_TOOLSET is set to mingw. Seems to be working fine now (i've got too long command line error) and no warning are supressing now (as it was told in comment for commented own process spawning).
2012-01-16Carve booleans library integrationSergey Sharybin
================================== Merging Carve library integration project into the trunk. This commit switches Boolean modifier to another library which handles mesh boolean operations in much stable and faster way, resolving old well-known limitations of intern boolop library. Carve is integrating as alternative interface for boolop library and which makes it totally transparent for blender sources to switch between old-fashioned boolop and new Carve backends. Detailed changes in this commit: - Integrated needed subset of Carve library sources into extern/ Added script for re-bundling it (currently works only if repo was cloned by git-svn). - Added BOP_CarveInterface for boolop library which can be used by Boolean modifier. - Carve backend is enabled by default, can be disabled by WITH_BF_CARVE SCons option and WITH_CARVE CMake option. - If Boost library is found in build environment it'll be used for unordered collections. If Boost isn't found, it'll fallback to TR1 implementation for GCC compilers. Boost is obligatory if MSVC is used. Tested on Linux 64bit and Windows 7 64bit. NOTE: behavior of flat objects was changed. E.g. Plane-Sphere now gives plane with circle hole, not plane with semisphere. Don't think it's really issue because it's not actually defined behavior in such situations and both of ways might be useful. Since it's only known "regression" think it's OK to deal with it. Details are there http://wiki.blender.org/index.php/User:Nazg-gul/CarveBooleans Special thanks to: - Ken Hughes: author of original carve integration patch. - Campbell Barton: help in project development, review tests. - Tobias Sargeant: author of Carve library, help in resolving some merge stoppers, bug fixing.
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-29add UNLIKELY / LIKELY util defines to help optimize iterators that are ↵Campbell Barton
called a lot, only defined for gcc at the moment. also some cmake formatting edits.
2011-12-15Added note that cmake/scons rules are automatically generated for extern/libmvSergey Sharybin
Also updated generation scripts and templates
2011-12-11missing config_freebsd.h from cmake file listCampbell Barton
2011-12-07Merging remained part of hybrid tracker which adds correlation thresholdSergey Sharybin
Keir's comment: Add support for detecting tracking failure in the ESM tracker component of libmv. Since both KLT and Hybrid rely on ESM underneath, KLT and Hybrid now have a minimum correlation setting to match. With this fix, track failures should get detected quicker, with the issue that sometimes the tracker will give up too easily. That is fixable by reducing the required correlation (in the track properties). Command used for merge: svn merge -r 42396:42397 -r 42399:42400 ^/branches/soc-2011-tomato
2011-12-05Fix #29506: libmv build issues on freebsd, patch by Shane Ambler.Brecht Van Lommel
2011-12-05Minor whitespace fixesSergey Sharybin
2011-12-04Fix warning for redefinition of __MSVCRT_VERSION__Antony Riakiotakis
2011-12-04Fix MinGW compilation:Antony Riakiotakis
define __MSVCRT_VERSION__ to 0x0700 (microsoft runtime msvcr70.dll) so _aligned_malloc is defined.
2011-12-04Camera tracking: merge hybrid tracker from tomato branchSergey Sharybin
Comment from Keir's commit: Add a new hybrid region tracker for motion tracking to libmv, and add it as an option (under "Hybrid") in the tracking settings. The region tracker is a combination of brute force tracking for coarse alignment, then refinement with the ESM/KLT algorithm already in libmv that gives excellent subpixel precision (typically 1/50'th of a pixel) This also adds a new "brute force" region tracker which does a brute force search through every pixel position in the destination for the pattern in the first frame. It leverages SSE if available, similar to the SAD tracker, to do this quickly. Currently it does some unnecessary conversions to/from floating point that will get fixed later. The hybrid tracker glues the two trackers (brute & ESM) together to get an overall better tracker. The algorithm is simple: 1. Track from frame 1 to frame 2 with the brute force tracker. This tries every possible pixel position for the pattern from frame 1 in frame 2. The position with the smallest sum-of-absolute-differences is chosen. By definition, this position is only accurate up to 1 pixel or so. 2. Using the result from 1, initialize a track with ESM. This does a least-squares fit with subpixel precision. 3. If the ESM shift was more than 2 pixels, report failure. 4. If the ESM track shifted less than 2 pixels, then the track is good and we're done. The rationale here is that if the refinement stage shifts more than 1 pixel, then the brute force result likely found some random position that's not a good fit. svn command used: svn merge -r 42375:42376 -r 42377:42379 ^/branches/soc-2011-tomato
2011-12-02Merging r42193 through r42349 from trunk into soc-2011-tomatoSergey Sharybin
2011-12-01Fix #29469: Latest motion tracking not working.Sergey Sharybin
It was error in CMakeLists.txt caused by automatic bundling script which expanded variables instead of substituting them as-is. Fixed both of bundling script and CMakeLists.txt
2011-11-30Fix link errors for MinGW debug for blenderplayer. This bizarre error, not ↵Antony Riakiotakis
present in release builds, happens due to name clashes between tracker functions. static-fied them so the linker stops complaining.
2011-11-29Camera tracking: SAD tracker now supports patterns with any sizeSergey Sharybin
(rectangle patterns are getting enlarged to square like it's happening for KLT)
2011-11-28Camera tracking: moved camera solver into it's own jobSergey Sharybin
In some cases solving can take a while (especially when refining is used) and keeping interface locked is a bit annoying. Now camera solver is moved to job system and interface isn't locking. Reporting progress isn't really accurate, but trying to make it more linear can lead to spending more effort on it than having benefit. Also, changing status in the information line helps to understand that blender isn't hang up and solving is till working nicely. Main changes in code: - libmv_solveReconstruction now accepts additional parameters: * progress_update_callback - a function which is getting called from solver algorithm to report progress back to Blender. * callback_customdata - a user-defined context which is passing to progress_update_callback so progress can be updated in needed blender-side data structures. This parameters are optional. - Added structure MovieTrackingStats which is placed in MovieTracking structure. It's supposed to be used for displaying information about different operations (currently it's only camera solver, but can be easily used for something else in the future) in clip editor. This statistics structure is getting allocated for time operator is working and not saving into .blend file. - Clip Editor now displays statistics stored in MovieTrackingStats structure like it's done for rendering.
2011-11-27Camera tracking: progress report clean-upSergey Sharybin
Send object which implements ProgressUpdateCallback to complete reconstruction function rather than sending C-like procedure variable and context.
2011-11-25Camera tracking: cleaned progress reporting stuff and made a bit more verboseSergey Sharybin
2011-11-25Merging r42062 through r42159 from trunk into soc-2011-tomatoSergey Sharybin
2011-11-25libmv: don't replace flags with rel_flags but add, to preserve all flagsJens Verwiebe
2011-11-23This checks shouldn't have been removed.Sergey Sharybin
2011-11-22Camera tracking: expose progress and status from camera solver into interfaceSergey Sharybin
Reporting progress isn't really accurate, but trying to make it more linear can lead to spending more effort on it than having benefit. Also, changing status in the information line helps to understand that blender isn't hang up and solving is till working nicely. Main changes in code: - libmv_solveReconstruction now accepts additional parameters: * progress_update_callback - a function which is getting called from solver algorithm to report progress back to Blender. * callback_customdata - a user-defined context which is passing to progress_update_callback so progress can be updated in needed blender-side data structures. This parameters are optional. - Added structure MovieTrackingStats which is placed in MovieTracking structure. It's supposed to be used for displaying information about different operations (currently it's only camera solver, but can be easily used for something else in the future) in clip editor. This statistics structure is getting allocated for time operator is working and not saving into .blend file. - Clip Editor now displays statistics stored in MovieTrackingStats structure like it's done for rendering.
2011-11-22Merging r41937 through r42061 from trunk into soc-2011-tomatoSergey Sharybin
2011-11-20Camera tracking fixes:Sergey Sharybin
- Fixed incorrect memory access on distoritons more than 128 pixels - Do not use UNDO operators flags for delete proxy operator (files can't be restored form disk), and also do not use UNDO for set as background operator (background images are storing in 3d viewport which isn't getting re-loaded on undo which can lead to incorrect users count of movie clip user).
2011-11-17Merged trunk up to rev41928Sergey Sharybin
2011-11-16Camera tracking: forbid focal length=0 and small code cleanupSergey Sharybin
2011-11-15SVN maintenance.Guillermo S. Romero
2011-11-15Patch from nico_ga: libmv can be compiled with icc nowSergey Sharybin
2011-11-14Fixed compilation error with msvc caused by recent libmv commitSergey Sharybin
2011-11-14Camera tracking: code cleanupSergey Sharybin
2011-11-14Assorted camera tracker improvementsSergey Sharybin
- Add support for refining the camera's intrinsic parameters during a solve. Currently, refining supports only the following combinations of intrinsic parameters: f f, cx, cy f, cx, cy, k1, k2 f, k1 f, k1, k2 This is not the same as autocalibration, since the user must still make a reasonable initial guess about the focal length and other parameters, whereas true autocalibration would eliminate the need for the user specify intrinsic parameters at all. However, the solver works well with only rough guesses for the focal length, so perhaps full autocalibation is not that important. Adding support for the last two combinations, (f, k1) and (f, k1, k2) required changes to the library libmv depends on for bundle adjustment, SSBA. These changes should get ported upstream not just to libmv but to SSBA as well. - Improved the region of convergence for bundle adjustment by increasing the number of Levenberg-Marquardt iterations from 50 to 500. This way, the solver is able to crawl out of the bad local minima it gets stuck in when changing from, for example, bundling k1 and k2 to just k1 and resetting k2 to 0. - Add several new region tracker implementations. A region tracker is a libmv concept, which refers to tracking a template image pattern through frames. The impact to end users is that tracking should "just work better". I am reserving a more detailed writeup, and maybe a paper, for later. - Other libmv tweaks, such as detecting that a tracker is headed outside of the image bounds. This includes several changes made directly to the libmv extern code rather expecting to get those changes through normal libmv channels, because I, the libmv BDFL, decided it was faster to work on libmv directly in Blender, then later reverse-port the libmv changes from Blender back into libmv trunk. The interesting part is that I added a full Levenberg-Marquardt loop to the region tracking code, which should lead to a more stable solutions. I also added a hacky implementation of "Efficient Second-Order Minimization" for tracking, which works nicely. A more detailed quantitative evaluation will follow. Original patch by Keir, cleaned a bit by myself.
2011-11-10Camera tracking integration: more code cleanupSergey Sharybin
2011-11-10Camera tracking integration: cleanup and finish some parts of recent commitSergey Sharybin
- Replace set of booleans with menu, so now you'll simply be unable to choose unsupported refine combination - Some internal code cleanup and minor refactor
2011-11-09Assorted camera tracker improvementsKeir Mierle
- Add support for refining the camera's intrinsic parameters during a solve. Currently, refining supports only the following combinations of intrinsic parameters: f f, cx, cy f, cx, cy, k1, k2 f, k1 f, k1, k2 This is not the same as autocalibration, since the user must still make a reasonable initial guess about the focal length and other parameters, whereas true autocalibration would eliminate the need for the user specify intrinsic parameters at all. However, the solver works well with only rough guesses for the focal length, so perhaps full autocalibation is not that important. Adding support for the last two combinations, (f, k1) and (f, k1, k2) required changes to the library libmv depends on for bundle adjustment, SSBA. These changes should get ported upstream not just to libmv but to SSBA as well. - Improved the region of convergence for bundle adjustment by increasing the number of Levenberg-Marquardt iterations from 50 to 500. This way, the solver is able to crawl out of the bad local minima it gets stuck in when changing from, for example, bundling k1 and k2 to just k1 and resetting k2 to 0. - Add several new region tracker implementations. A region tracker is a libmv concept, which refers to tracking a template image pattern through frames. The impact to end users is that tracking should "just work better". I am reserving a more detailed writeup, and maybe a paper, for later. - Other libmv tweaks, such as detecting that a tracker is headed outside of the image bounds. This includes several changes made directly to the libmv extern code rather expecting to get those changes through normal libmv channels, because I, the libmv BDFL, decided it was faster to work on libmv directly in Blender, then later reverse-port the libmv changes from Blender back into libmv trunk. The interesting part is that I added a full Levenberg-Marquardt loop to the region tracking code, which should lead to a more stable solutions. I also added a hacky implementation of "Efficient Second-Order Minimization" for tracking, which works nicely. A more detailed quantitative evaluation will follow.
2011-11-08cmake & pep8 tidy up, also some style edits.Campbell Barton
remove unneeded collection length function.
2011-11-07Hopefully compilation with MinGW will work again.Sergey Sharybin
Tested with official MinGW and SCons, not sure how ti check it when using CMake.
2011-11-07Camera tracking integrationSergey Sharybin
=========================== Commiting camera tracking integration gsoc project into trunk. This commit includes: - Bundled version of libmv library (with some changes against official repo, re-sync with libmv repo a bit later) - New datatype ID called MovieClip which is optimized to work with movie clips (both of movie files and image sequences) and doing camera/motion tracking operations. - New editor called Clip Editor which is currently used for motion/tracking stuff only, but which can be easily extended to work with masks too. This editor supports: * Loading movie files/image sequences * Build proxies with different size for loaded movie clip, also supports building undistorted proxies to increase speed of playback in undistorted mode. * Manual lens distortion mode calibration using grid and grease pencil * Supervised 2D tracking using two different algorithms KLT and SAD. * Basic algorithm for feature detection * Camera motion solving. scene orientation - New constraints to "link" scene objects with solved motions from clip: * Follow Track (make object follow 2D motion of track with given name or parent object to reconstructed 3D position of track) * Camera Solver to make camera moving in the same way as reconstructed camera This commit NOT includes changes from tomato branch: - New nodes (they'll be commited as separated patch) - Automatic image offset guessing for image input node and image editor (need to do more tests and gather more feedback) - Code cleanup in libmv-capi. It's not so critical cleanup, just increasing readability and understanadability of code. Better to make this chaneg when Keir will finish his current patch. More details about this project can be found on this page: http://wiki.blender.org/index.php/User:Nazg-gul/GSoC-2011 Further development of small features would be done in trunk, bigger/experimental features would first be implemented in tomato branch.
2011-11-07Camera tracking integration: Final pre-merge code clean-upSergey Sharybin