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
2014-02-07Add Tabs for Movie Clip EditorSergey Sharybin
Based on the patch from Sebastian Koenig, discussed with Jonathan Williamson https://developer.blender.org/T38172 Also removed redundant modes from clip editor. Reviewers: brecht, carter2422 Reviewed By: carter2422 CC: sebastian_k, carter2422 Differential Revision: https://developer.blender.org/D293
2014-01-31Code cleanup: be less vague checking invalid index valuesCampbell Barton
2014-01-31Fix for error setting unique names for tracksCampbell Barton
2014-01-16Code Cleanup: no need to pass empty strings as default valuesCampbell Barton
2014-01-12Style Cleanup: whitespaceCampbell Barton
2013-12-16Motion tracking: use PROP_PIXEL for pixel RNA valuesSergey Sharybin
2013-12-12Use factor subtype for plane track opacitySergey Sharybin
2013-11-29Image wrapping for plane track in clip editorSergey Sharybin
Summary: Now it's possible to assign an image to plane tracks in clip editor. This image is only used for display in clip editor and this image is being warped into the plane track rectangle. Main purpose of this is to get early feedback about how good image warping matches the footage, before clip goes to the compositor. Pretty much straightforward change: just compute homography from undeformed normalized frame corner coordinates (unity square) to plane marker corners and apply this matrix to opengl stack. Still could improve behavior when perspective plane transform is degenerate, but that's not so much critical for now i'd say. Reviewers: brecht, campbellbarton Reviewed By: brecht CC: sebastian_k Differential Revision: http://developer.blender.org/D57
2013-11-25UI: change hard limits on a few camera and image properties to infinite, ↵Mark Ayers
soft limits stay the same. Reviewed By: brecht Differential Revision: http://developer.blender.org/D33
2013-11-20Expose track's offset to the RNASergey Sharybin
2013-11-04UI messages fixes...Bastien Montagne
2013-11-03Motion tracking: use is_keyed to match naming in other areas of RNASergey Sharybin
2013-11-01Expose is_keyframed flag for tracking markerSergey Sharybin
So now it's possible to know from python whether marker is a keyframe or tracked one.
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-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-11code cleanup: reuse rna_matrix_dimsize_NxN defines between RNA functionsCampbell Barton
2013-09-20code cleanup: quiet rna warnings, remove remove_strict_flags() for cmake/rna.Campbell Barton
also set_source_files_properties() wasn't working for rna_*_gen.c files, set dna.c and generated data files with generated property too.
2013-09-12code cleanup: set enums as static or add RNA_enum_types.h where they are ↵Campbell Barton
used elsewhere. also minor style cleanup.
2013-09-10Tweaks to plane trackSergey Sharybin
- Do plane re-evaluation only when transform is actually done. Before this re-evaluation happened on every mouse move. - Added a flag "Auto Keyframe" for the plane track, which does: * If Auto Keyframe is enabled, then every manual edit of the plane will create a new keyframe at current frame and update plane motion between current frame and previous/next keyframe. This now also implies blending detected motion with neighbor keyframes, so there's no jump happening. No automatic update on manual point tracks edit will happen. * If auto Keyframe is disabled, then no keyframes are adding to the plane and every plane tweak will re-evaluate in on the whole frame range. In this case manual tweaks to point tracks and re-tracking them implies plane re-evaluation.
2013-08-23Tracking Python API improvementsSergey Sharybin
- Solved issue with changing marker's frame number for tracks which doesn't belong to camera object. - Support find_frame, insert_frame and delete_frame functions for plane markers.
2013-08-19Usual UI messages fixes...Bastien Montagne
2013-08-16Remove unused and unfinished py bindingsSergey Sharybin
2013-08-16Merge plane track feature from tomato branchSergey Sharybin
This commit includes all the changes made for plane tracker in tomato branch. Movie clip editor changes: - Artist might create a plane track out of multiple point tracks which belongs to the same track (minimum amount of point tracks is 4, maximum is not actually limited). When new plane track is added, it's getting "tracked" across all point tracks, which makes it stick to the same plane point tracks belong to. - After plane track was added, it need to be manually adjusted in a way it covers feature one might to mask/replace. General transform tools (G, R, S) or sliding corners with a mouse could be sued for this. Plane corner which corresponds to left bottom image corner has got X/Y axis on it (red is for X axis, green for Y). - Re-adjusting plane corners makes plane to be "re-tracked" for the frames sequence between current frame and next and previous keyframes. - Kayframes might be removed from the plane, using Shit-X (Marker Delete) operator. However, currently manual re-adjustment or "re-track" trigger is needed. Compositor changes: - Added new node called Plane Track Deform. - User selects which plane track to use (for this he need to select movie clip datablock, object and track names). - Node gets an image input, which need to be warped into the plane. - Node outputs: * Input image warped into the plane. * Plane, rasterized to a mask. Masking changes: - Mask points might be parented to a plane track, which makes this point deforming in a way as if it belongs to the tracked plane. Some video tutorials are available: - Coder video: http://www.youtube.com/watch?v=vISEwqNHqe4 - Artist video: https://vimeo.com/71727578 This is mine and Keir's holiday code project :)
2013-05-30Motion tracking: automatic keyframe selectionSergey Sharybin
Implements an automatic keyframe selection algorithm which uses couple of approaches to find out best keyframes candidates: - First, slightly modifier Pollefeys's criteria is used, which limits correspondence ration from 80% to 100%. This allows to reject keyframe candidate early without doing heavy math in cases there're not much common features with first keyframe. - Second step is based on Geometric Robust Information Criteria (aka GRIC), which checks whether features motion between candidate keyframes is better defined by homography or fundamental matrices. To be a good keyframe candidate, fundamental matrix need to define motion better than homography (in this case F-GRIC will be smaller than H-GRIC). This two criteria are well described in this paper: http://www.cs.ait.ac.th/~mdailey/papers/Tahir-KeyFrame.pdf - Final step is based on estimating reconstruction error of a full-scene solution using candidate keyframes. This part is based on the following paper: ftp://ftp.tnt.uni-hannover.de/pub/papers/2004/ECCV2004-TTHBAW.pdf This step requires reconstruction using candidate keyframes and obtaining covariance matrix of 3D points positions. Reconstruction was done pretty much straightforward using other simple pipeline routines, and for covariance estimation pseudo-inverse of Hessian is used, which is in this case (J^T * J)+, where + denotes pseudo-inverse. Jacobian matrix is estimating using Ceres evaluate API. This is also crucial to get rid of possible gauge ambiguity, which is in our case made by zero-ing 7 (by gauge freedoms number) eigen values in pseudo-inverse. There're still room for improving and optimizing the code, but we need some point to start with anyway :) Thanks to Keir Mierle and Sameer Agarwal who assisted a lot to make this feature working.
2013-04-24fix [#34958] keyframe many items would fail if there was a (") in the text.Campbell Barton
2013-03-06Tracking dopesheet fixes:Sergey Sharybin
- Dopesheet need to be updated when adding or switching between objects. - After removing object it shall also be tagged for update, otherwise crash will likely happen.
2013-02-26Camera tracking: support refining radial K1, K2 onlySergey Sharybin
This commits adds extra refirenment entry in the menu which is "K1, K2" and which will apparently refine only this distortion coefficients. This would be useful in cases when you know for sure focal length (which could be obtained from lens, EXIF and so) but not sure about how good you manual calibration is. Be careful tho, there're no internal constraints on this coefficients so distortion model could just screw up into insane values.
2013-01-07Motion tracking API changeSergey Sharybin
Replace Tracks.add(count, frame) with Tracks.new(name, frame) which will return newly created track. Before there was no reliable way to get newly created tracks.
2013-01-07Track.insert_frame used to create markers with zero pattern sizeSergey Sharybin
In most cases it's harmles since this call was intended to be used for importers only where pattern size was overriding after creation anyway. But better don't allow things which will work unpredictable.
2012-12-30style cleanup: casts, some casts had odd formatting, but very few. Style ↵Campbell Barton
checker script detects this now so easy to detect this if new code is added that doesnt follow blenders style.
2012-12-11code cleanup: neareast -> nearestCampbell Barton
2012-11-07UI message fixes...Bastien Montagne
2012-11-07code cleanup: use min/max functions rather then macros.Campbell Barton
2012-11-05Camera Tracking: allow fallback to reprojection resection by user demandSergey Sharybin
This fixes some "regressions" introduced in rev50781 which lead to much worse solution in some cases. Now it's possible to bring old behavior back. Perhaps it's more like temporal solution for time being smarter solution is found. But finding such a solution isn't so fast, so let's bring manual control over reprojection usage. But anyway, imo it's now nice to have a structure which could be used to pass different settings to the solver.
2012-11-02all remove functions now invalidate the RNA objects passed, to help script ↵Campbell Barton
authors to avoid bugs with accessing removed data.
2012-11-01style cleanupCampbell Barton
2012-10-09Motion Tracking: move keyframe settings to per-tracking object settingsSergey Sharybin
2012-09-22code cleanup: make many functions staticCampbell Barton
2012-08-26style cleanup: whitespaceCampbell Barton
2012-08-04Camera tracking presetsSergey Sharybin
- Fix for copy default settings from active track operator - Add meaningful tracking presets API changes: - Added parameter exact to Marker.find_frame, so now it's possible to get estimated marker - Added Marker.pattern_bound_box to get pattern's bound box
2012-07-04Last spell checking (for now).Bastien Montagne
Only mysterious courant from bpy.types.ParticleSettings.courant_target reamins...
2012-07-03First load of spell and typo fixes (mostly UI messages, but also one or two ↵Bastien Montagne
pieces of code using mis-spelled names).
2012-06-17style cleanup:Campbell Barton
also fix for building ghost test and fix double free in one of the tests
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-12Added Selected Only and Show Hidden flags to clip editor's curve viewSergey Sharybin
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-11UI messages fixes...Bastien Montagne
2012-06-10style cleanupCampbell Barton