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-06-20Do not check result of BKE_tracking_marker_get -- it shall alwaysSergey Sharybin
return valid marker. If not -- let blender crash, because that means something went really bad and silencing this isn't good idea. Also made mask parenting to tracking data aware of clip's start frame.
2012-06-20Grease pencil and manual calibration weren't aware of clip start frameSergey Sharybin
2012-06-20Cleanup up space clip API:Sergey Sharybin
- Remove clip/mask specific size/aspect getters, they shall just use the same size/aspect ratio. - Made size getter (and some other public functions) accept context instead of SpaceClip. Currently only SpaceClip is being get from this context, but later it'll be helpful when adding support of editing mask without opening clip in clip editor (in this case using render resolution for mask would be ideal, but this requires knowing scene in size getter). - Rearrange some functions in clip_editor.c for easier navigation in the file.
2012-06-19Changes in clip editor's public api to make it's more clearSergey Sharybin
whether getting of some property happens or this property is being changed. Also made it more clear whether affecting property belongs to clip or mask datablock.
2012-06-18Fix for compiling with all warnings as error (commenting out unused vars).Bastien Montagne
2012-06-18Disable mouse slide to control offset and uniform pattern scale for nowSergey Sharybin
This is nice to have, but requires better approach for visualization. Any ideas? :)
2012-06-16style cleanupCampbell Barton
2012-06-15Changed behavior of how pattern is controlling by mouse:Sergey Sharybin
- Removed scaling option which used to be Ctrl+Slide of individual pattern corner. - Added extra rectangle area which is being drawing around pattern and which supports the following things: * Slide by it's left upper corner would define offset of marker * Slide by it's right bottom corner would scale overall pattern - Added extra handle which is drawing from pattern center and which is being used to define scale and rotation of pattern area.
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-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-12fix for crash drawing grease pencil attached to a tracking marker.Campbell Barton
also fix for use of uninitialized variable for ED_clip_point_undistorted_pos().
2012-06-10style cleanupCampbell Barton
2012-06-10Also fix cache line in clip editor which didn't take start frame into account.Sergey 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-10Support for per-track Grease Pencil datablocks for motion trackingSergey Sharybin
Originally was needed to reach easy way of defining masks used for tracking (do eliminate textures which doesn't belong to feature when tracking. Implemented as alternative to GP datablock for clip and added switch between per-clip and per-track GP datablocks -- internal limitations of GP doesn't allow to display all GP datablocks easily. So either you see.edit GP associated with clip or with track. GP strokes associated with track are relative to track's position, following tracks during tracking and could be shared between several tracks. Masking code presents in libmv and there's rasterizer of GP datablocks for masks in blender's tracking module, but they still need to be glued together. Some documentation cound be found at this page: http://wiki.blender.org/index.php/Dev:Ref/Release_Notes/2.64/Motion_Tracker#Grease_Pencil
2012-06-07Remove unused ibuf argument from draw_gpencil_2dimageSergey Sharybin
It was used by sequencer only and it wasn't ported for a while already. This change allows to save cahce lookup for image and clip editors.
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-06-04abbreviate mask-editing to mask-editCampbell Barton
2012-06-04mask mode for clip editor developed by Sergey Sharybin, Pete Larabell and ↵Campbell Barton
myself. see: http://wiki.blender.org/index.php/User:Nazg-gul/MaskEditor note - mask editing tools need continued development, feather option is not working 100%
2012-05-21code cleanup: spellingCampbell Barton
2012-05-07Style cleanup of own modules using style checker from Campbell.Sergey Sharybin
2012-05-04Style cleanup: spaces around operatorsSergey Sharybin
2012-05-04Camera tracking: show disabled active track even if Show Disabled is ↵Sergey Sharybin
switched off
2012-04-30Camera tracking: use texture buffers (if supported) to display clip editor ↵Sergey Sharybin
frames Use texture buffers to display frames of footage in clip editor. This allows to apply bilinear filtering of proxied resolution which. This also resolves incredibly slow performance when drawing 4K footage on some videocards (was originally noticed on macbook pro). Also this allows to avoid sending the whole frame to the video memory when working with a single frame (i.e. before this patch the whole frame would be send to the videocard when panning frame).
2012-04-28Camera tracking: if there's no image for current frame display default gridSergey Sharybin
and allow to interact with tracks for operators which doesn't require image. Merged from tomato branch: svn merge ^/branches/soc-2011-tomato -r45624:45625
2012-04-07Disabling color channels for float images in clip editor now works fine.Sergey 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 formatting of if/for/while loops, and ↵Campbell Barton
else if's
2012-03-08style cleanup - spelling.Campbell Barton
2012-03-04style cleanup - comment spelling + translate some dutch.Campbell Barton
2012-03-03style cleanup - use aligned * prefixed blocks for descriptive comments (was ↵Campbell Barton
already used a lot and part of proposed style guide).
2012-02-26Fixed for selected bundles drawing in 3D viewport:Sergey Sharybin
- If track was hidded in clip editor it wasn't highlighted in 3d viewport even if it's selected. - If two tracks has got the same bundle coordinate and one of them is selected it might not be highlighted in 3d viewport because of draw order.
2012-02-17Camera tracking: run aspect correction before stabilizing shotSergey Sharybin
This commit fixes image stopped being an orthogonal rectangle because of horizontal scaling caused by pixel aspect ratio happening after rotating image which used to make orthogonal angles from footage not actually orthogonal. -- svn merge -r44150:44151 ^/branches/soc-2011-tomato
2012-02-08Movie Clip Editor: manual calibration will now respect GP layer's hidden flagSergey Sharybin
2012-02-05Movie Clip Editor: cleanup of display panelsSergey Sharybin
- Split display options into two panels: * Display, which contains all general display options related on editor itself * Marker Display, which contains options which makes sense for markers themselves and not used so often. - Remove Show GPencil option which doesn't actually make sense because strokes might be disabled from GPencil panel - Removed Show Pyramid option and show pyramid for KLT tracker as default. - Added hotkey to toggle Show Disabled (Alt-D) - Added hotkey to toggle Show Pattern (Alt-S) Changes in interface and hotkeys are done by Sebastian Koenig. Thanks for the patch! Own changes in interface were related on Aspect Ratio. It doesn't make much sense for tracking (camera pixel aspect is what you'll want to use, but for masking it would make much more sense because when you just want to create a mask for footage you don't actually have camera). Just removing from interface seems not so nice for now. Merged from soc-2011-tomato rev43872
2012-01-25Various fixes for camera tracking stuffSergey Sharybin
- Fixed tooltip displaying for track sequence forwards in clip editor - Corrected detection of 8 tracks so it wouldn't count tracks disabled on keyframes. - Scale track preview to actual track widget size instead of scaling the whole preview image with given zoom ratio, so no extra memory needed to store zoomed margin would be used. - Track's statistics text will fit pattern position instead of search if marker is disabled on current frame. - Fixed toggle selection operator if selected track is hidden due to "Hide Disabled" policy.
2012-01-15Fixed incorrect behavior of 2d stabilization preview in clip editor when ↵Sergey Sharybin
proxied resolution is used
2012-01-11minor cleanup for string use - no functional changesCampbell Barton
- use more logical names for strings, noticed too many strings called `str` when reviewing name patch. - pass __func__ macro to uiBeginBlock(), quite a few names were wrong (copy/paste error).
2012-01-11minor changes to BLF api useCampbell Barton
- replace calls to BLF_width & BLF_height --> BLF_width_and_height - no need to call strlen() on length value passed to BLF_draw(). this already checks for \0 char.
2011-12-15Object tracking fixes:Sergey Sharybin
- Do not draw bundles for object for opengl selection - Display reconstruction info for active object in cache line and graph editor
2011-12-05Object tracking; initial commitSergey Sharybin
This commit implements basis stuff needed for object tracking, use case isn't perfect now, interface also should be cleaned a bit. - Added list of objects to be tracked. Default there's only one object called "Camera" which is used for solving camera motion. Other objects can be added and each of them will have it;s own list of tracks. Only one object can be used for camera solving at this moment. - Added new constraint called "Object Tracking" which makes oriented object be moving in the save way as solved object motion. - Scene orientation tools can be used for orienting object to bundles. - All tools which works with list of tracks or reconstruction data now gets that lists from active editing object. - All objects and their tracking data are available via python api.
2011-11-30Deduplicate code used for drawing text information at the top of space region.Sergey Sharybin
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-10Fixed possible issue drawing undistorted clip in clip editor.Sergey Sharybin
Check for marker's visibility was a bit odd.
2011-11-07Some small fixed for camera tracking:Sergey Sharybin
- Lock to selection and center to selection will now work fine with undistorted rendering - Do not display pyramid for disabled tracks - Corrected fix for wrong correlation_min property name
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.