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
2014-01-28Improvements to weighted tracks behaviorSergey Sharybin
First thing changed by this commit is making it so Euclidean intersection takes track weight into account when solving minimization problem. This behaves the same exact way as it is for BA step. Second thing is related on how average reprojection error is being calculated. It didn't take track weight into account which could confuse users. Now average reprojection error will give the same result as intersection/BA uses during minimization which gives much more predictable behavior. Differential Revision: https://developer.blender.org/D265
2014-01-28Fixes for keyframe selectionSergey Sharybin
Using tracks with constant zero weight used to crash keyframe selection since it was trying to use missing parameter blocks for Jacobian evaluation, Also fixed possible issues with wrong camera block being marked as variable. This could technically happen when having zero weighted tracks. Made it so all camera blocks are marked as variable for now.
2014-01-28Rework detector API and implement Harris detectorSergey Sharybin
Switch the detector API to a single function which accepts a float image and detector options. This makes usage of feature detection more unified across different algorithms. Options structure is pretty much straightforward and contains detector to be used and all the detector-specific settings. Also implemented Harris feature detection algorithm which is not as fast as FAST one but is expected to detect more robust feature points. It is also likely that less features are detected, but better quality than quantity. Blender will now use Harris detector by default, later we'll remove FAST detector.
2014-01-28Correct typo in the patch file as wellSergey Sharybin
2014-01-27Fix compilation on Windows, syntax error.Thomas Dinges
2014-01-27Attempt to fix compilation error with MSVC-2008Sergey Sharybin
2014-01-27Update Carve to latest updateSergey Sharybin
Fixes some issues with NaN vertices in special cases. Also adds edge interpolation routines which are currently unused but which are requires to implement edge CD interpolation.
2014-01-13Ceres: more warnings cleanupSergey Sharybin
2014-01-13Re-bundle new Ceres librarySergey Sharybin
- Fixes some harmless issues (in cases blender doesn't use Ceres yet) - Fixes some compilation warnings
2014-01-09Compilation error fix for NetBSDSergey Sharybin
Based on the patch from Joerg Sonnenberger.
2014-01-09Fix compilation error on NetBSDSergey Sharybin
Original patch is by Jeorg Sonnenberger, thanks!
2014-01-02Code cleanup: remove patch series from libmvSergey Sharybin
Since we're using own libmv branch from git.blender.org we don't need to have local patches for libmv in blender source tree.
2014-01-02Code and style cleanupSergey Sharybin
Mainly fixed some style warnings reported by cpplint. Also changed how camera (un)distortion happens internally by replacing number of channels as a template argument with number as channels passing as function argument. Makes code easier to follow by eliminating loads checks how much channels are used and which argument to pass to the template.
2014-01-01Re-bundle libmv from new upstream repositorySergey Sharybin
No functional changes, just to make sure all the patches are ported nicely and that update scripts works fine.
2014-01-01Update Ceres to the latest upstreamSergey Sharybin
Summary: This brings up much easier termination type usage, which for us means we might use: ceres::Summary::IsSolutionUsable() instead of doing manual funky enum values check. Reviewers: keir Differential Revision: https://developer.blender.org/D153
2013-12-26Bullet: Update to svn r2719Sergej Reich
Fixes part of T37905, fixed constraint didn't work correctly.
2013-12-10CMake: report messages as status (else ccmake treats like an error)Campbell Barton
2013-11-30Woo Hoo. First git commit.Alexandr Kuznetsov
Changes for VC2013 Now, I can build Blender with VC2013 with Cycles, Collada, OpenExr,OpenImageIO disabled. Also, you need VC2008 sp1 installed to make old libs compatible.
2013-11-28Code cleanup: spelling fixes and verbosity printsSergey Sharybin
2013-11-28Made collections port compatible with MSVC2008Sergey Sharybin
The issue was caused by the fact that in this version of MSVC unordered_map class is defined in <unordered_map> header file, but this file declares the class int std::tr1 namespace. This confused existing assumption that if there's an existing <unordered_map> file then class is declared in std namespace. Added an extra check to CMake which detects whether it's std or std::tr1 which actually contains class of unordered_map. This might be changed/cleaned in the future, for now committing to our repository to solve compilation error on windows. Details of the patch in upstream can be found there: https://ceres-solver-review.googlesource.com/#/c/4371/
2013-11-28Update Ceres to latest upstream versionSergey Sharybin
- A richer Problem API. - DynamicNumericDiffCostFunction. - Faster ITERATIVE_SCHUR solver. - Faster SCHUR_JACOBI preconditioner. - Faster Jacobian evaluation. - Faster visibility based preconditioning using single linkage clustering. Also re-wrote rules for unordered collections detection, should work on all platforms and compilers now :)
2013-11-28Fix Carve compilation on FreeBSDSergey Sharybin
Based on the patch from Marcus von Appen, thanks!
2013-11-28Update Carve to upstream version be054bc7ed86Sergey Sharybin
2013-11-28Carve bundler script cleanupSergey Sharybin
- random.hpp was only removed from actual include directory, but not from patches/files. - Files list generator didn't ignore config.h file which in fact is not needed.
2013-11-20Tweaks and improvements to fundamental/homography estimationSergey Sharybin
- A bit more reasonable name for the estimation option structure and estimation functions. - Get rid of unclear function and parameter tolerance, it wasn't clear at all in which units they are. Now we've got expected_average_symmetric_distance as an early output check and as soon as average symmetric error goes below this threshold refining finishes. This distance is measured in the same units as input points are. It is arguable whether we need callback for this or not, but seems Ceres doesn't have some kind of absolute threshold for function value and function_tolerance behaves different from logic behind expected symmetric error. - Added option to normalize correspondences before estimating the homography in order to increase estimation stability. See R. Hartley and A. Zisserman. Multiple View Geometry in Computer Vision. Cambridge University Press, second edition, 2003. https://www.cs.ubc.ca/grads/resources/thesis/May09/Dubrofsky_Elan.pdf
2013-11-16rangetree: support for building on freebsd-10Campbell Barton
2013-11-08OSX/scons: make MACOSX_SDK_CHECK a local var is sconstruct and remove from ↵Jens Verwiebe
env, also fix a longstanding misuse of MACOSX_SDK_CHECK in ceres, use MACOSX_SDK instead
2013-11-04bullet: Remove patch applied upstreamSergej Reich
2013-10-29Eagerly attempt to refine a track before doing a brute searchKeir Mierle
Before the refinement phase of tracking, a brute force SAD search is run across the search area. This works well but is slow; especially if the guess for the track's location is accurate. This patch runs a refinement phase before running a brute force search, hoping that the guessed position (in x2, y2) is close to the best answer. If it is, then no brute search is done. If it is not, then a normal brute force search followed by refinement is done. In some cases this may produce worse tracks than before; the regressions will need investigation. The predictive motion model (to be implemented) will reduce the probability of that happening.
2013-10-28Fix bug where libmv tracking incorrectly succeeds on failureKeir Mierle
Before this patch, if Ceres returned USER_SUCCESS indicating that Ceres was only changing the tracked quad slightly between iterations (indicating convergence), no final correlation check was done. This leads to incorrectly returning that the tracking was successful, when it actually failed.
2013-10-26Weighted tracksSergey Sharybin
Added a weight slider to track which defines how much particular track affects in a final reconstruction. This weight is for sure animateable. Currently it affects on BA step only which in most cases will work just fine. The usecase of this slider is to have it set to 1.0 most of the time where the track is good, but blend it's weight down to 0 when tracker looses the track. This will prevent camera from jump. Tutorial is to be done by Sebastian.
2013-10-25Fix building with sconsSergej Reich
Can't actually test here so hope this is enough.
2013-10-25bullet: Update to version 2.82 (bullet revision 2705)Sergej Reich
Remove patch that has been applied upstream. Fixes several bugs.
2013-10-15Code cleanup: move function prototype to header fileSergey Sharybin
2013-10-15Get rid of Allow Fallback optionSergey Sharybin
It was rather confusing from the user usage point of view and didn't get so much improvement after new bundle adjuster was added. In the future we might want to switch resection to PPnP algorithm, which could also might be a nice alternative to fallback option.
2013-10-10Libmv: make sure CmakeList.txt is re-created with all needed headers on ↵Sergey Sharybin
re-bundle
2013-10-10Libmv: move platform-specific defines into own fileSergey Sharybin
2013-10-09Fix compilation error after recent libmv changeSergey Sharybin
- Tweaked typedefs in stdint so they match what we've got in BLI_sys_types (needed to explicitly tell sign to MSVC). Not so much harmful to be more explicit here, but we really better to have single stdint int blender. - Tweaked allocations macros so MSVC is happy with structures allocation.
2013-10-09Move guarded objetc allocation to a guardedalloc headerSergey Sharybin
Also made libmv-capi use guarded objetc allocation. Run into some suspecious cases when it was not so clear whether memory is being freed or not. Now we'll know for sure whether there're leaks or not :) Having this macros in a guardedalloc header helps using them in other areas (for now it's OCIO and libmv, but in the future it'll be more places).
2013-10-02libmv: fix matrix address being printed instead of actual valuesSergey Sharybin
2013-10-01Optimization for recent changes in keyframe selectionSergey Sharybin
2013-10-01Fix issues according to codereview pageSergey Sharybin
Mainly just a comment cleanups.
2013-09-30Fix for plane track jitteringSergey Sharybin
Jittering was caused by homography not being estimated accurate enough. Before this, only algebraic estimation was used, which is indeed not so much great, Now use algebraic estimation followed with refinement step using Ceres minimizer. The code was already there since keyframe selection patch, made such estimation a generic function in multiview/ and changed API for estimation in order to pass all additional options via an options structure (the same way as it's done fr Ceres). This includes changes to both homography and fundamental estimation. TODO: - Need to document Ceres functors better. - Need to support homogeneous coordinates (currently only euclidean coords are supported).
2013-09-14Code cleanup: spelling correctionJoseph Mansfield
2013-09-13correct error in libmv stub, also correct typo.Campbell Barton
2013-09-09OSX/clang5: revert 59960, todo: make it global Jens Verwiebe
2013-09-09OSX/clang5: fix broken compilingJens Verwiebe
2013-09-09Code cleanup: Minor function capitalization fixJoseph Mansfield
2013-09-05Update Ceres to 1.7.0 releaseSergey Sharybin
For Blender this release is interesting because of: - Covariance estimation (not used in Blender yet, but now we might use it for keyframe selection instead of havingown implementation). - Significant performance improvements to loss function and dense linear solvers and automatic differentiation. Unfortunately, didn't notice speedup of tracking itself, but camera reconstruction now happens around 2 times faster on my laptop, - Better inner iteration step acceptance and stopping.
2013-08-19Use reentrant qsort() in particle codesSergey Sharybin
Particle system code used global variable to sort hair by orig index, which is not safe for threading at all. Replaced this with usage of reentrant version of qsort, which is now implemented in BLI. It was moved from recast navigation code to BLI, so more areas could use it (if needed). -- svn merge -r59086:59087 ^/branches/soc-2013-depsgraph_mt