Commit Graph

764 Commits

Author SHA1 Message Date
Sergey Sharybin
3d3a449d95 Camera tracking integration
===========================

Initial implementation of graph view for movie tracking data.
Used the same UI-side approach as preview region for sequencer:
create region for graph-related information inside clip editor.

It's easier and nicer than trying to hack graph editor which is
currently designed to work with AnimData only. Trying to make it
more abstract to deal with any kind of data doesn't seem be real
benefit for now.

Currently supported displaying per-frame average error and
selected tracks' movement speed (pixels per frame).

Additional changes:
- Collect per-frame average error after solving.
- Split space clip drawing code into different files.
- Added per-frame average solving error.
2011-10-19 12:46:30 +00:00
Sergey Sharybin
8fb37629cd Camera tracking integration
===========================

Some improvements for feature detectors:

- Sort features by score when filtering features by
  distance using FAST library.
- Added option to place markers only in areas outlined
  by grease pencil.
2011-10-15 19:30:51 +00:00
Sergey Sharybin
594e9e0689 Camera tracking integration
===========================

Added option to choose which method to use for feature detector: FAST or Moravec

Moravec was supposed to be more "stable", but it collected worse feedback.
before returning back to FAST detector added option to easier toggle between
different detector to compare it's result and find out if we can leave only FAST.
2011-10-13 17:54:05 +00:00
Sergey Sharybin
6f42be1e70 Camera tracking integration
===========================

Support for (un)distortion of images with overscan. Needed for
easier keeping this up-to-date until proper overscan support is
implemented in renderer. Not exposed into UI yet at all.
2011-10-09 20:28:29 +00:00
Sergey Sharybin
92ddc03126 Camera tracking integration
===========================

Fixed threading issues used to happen when compositor tree
and rendering happened in the same time. Problem was caused
by cached camera intrinsics stored in MovieTracking structure
and access to which wasn't thread-safe.

Now each movie distoriton mode stores it's own camera intrinsics
in it's storage which makes compositor (un)distoriton be totally
thread-safe and this also makes compositor tree faster when
(un)distortion happens on images with different resolution.
2011-10-07 19:21:29 +00:00
Sergey Sharybin
f8b081153b Merging r40653 through r40847 from trunk into soc-2011-tomato 2011-10-07 18:57:26 +00:00
Sergey Sharybin
8182a017d9 Whitespace clean-up 2011-09-30 12:24:17 +00:00
Benoit Bolsee
e6a9b68c79 Recast: upgrade library.
- Upgrade Recast library to latest portable version
- Implement recast_qsort based on FreeBSD qsort.c to have 
  portable thread safe quick sort for use in conversion routine.
- Better default value for the Build Navigation Mesh operator
2011-09-29 21:38:57 +00:00
Sergey Sharybin
424f6463c1 Camera tracking integration
===========================

MSVC should work fine now.
2011-09-28 16:46:16 +00:00
Sergey Sharybin
a36dd050ed Camera tracking integration
===========================

- Merge Movie Distort and Movie Undistort nodes into one node
  called Movie Distortion where action (distort/undistort is specified).
- Implemented more proper distortion/undistortion for scaled images.

NOTE: Please, delete distortion nodes with current blender first
      before opening files with blender versions from this commit/
2011-09-28 13:31:32 +00:00
Sergey Sharybin
03f3e7b3fc Merging r40572 through r40597 from trunk into soc-2011-tomato 2011-09-27 09:26:46 +00:00
Sergey Sharybin
a25c7f647e navmesh: convert object_navmesh.cpp to plain c. 2011-09-27 09:09:43 +00:00
Sergey Sharybin
13e63a82d2 Camera tracking integration
===========================

Fix for msvc2010 compilaiton. Patch by Nico Blends, thanks!
2011-09-26 20:16:43 +00:00
Sergey Sharybin
7505de5c59 Camera tracking integration
===========================

Attempt to fix MinGW compilaiton.
2011-09-26 20:03:07 +00:00
Sergey Sharybin
4bd96adbcf Camera tracking integration
===========================

Lookup grids used for image distortion/undistortion are now
caching and re-building if distortion settings are changing.

This speedups compositor node for cases distortion model isn't
changing, but first run and runs after changing distortion
coefficients is still slow.
2011-09-26 19:00:12 +00:00
Sergey Sharybin
8615218d57 Camera tracking integration
===========================

- If render size is set to "Full Render" and undistorted render
  is enabled, do on-fly undistortion so distortion coefficients
  can be visually verifed before baking.
- Made slight change in libmv-side to survive with large distortion
  coefficients. Hope this change is fine.
2011-09-26 15:07:06 +00:00
Sergey Sharybin
07e57233e2 Merging r40265 through r40492 from trunk into soc-2011-tomato 2011-09-23 13:20:21 +00:00
Sergey Sharybin
9d1b4b63b3 Fix for recent commit:
- Some declarations after statement left.
- Do not use static inline functions in MOD_navmesh. It produces errors
  with msvc and not sure it's actually helps -- optimizer should
  make it inlined itself.
2011-09-20 17:06:17 +00:00
Sergey Sharybin
0169079bd1 Get rid of c++ in blenkernel and modifiers
Also use guarded allocations for navmesh stuff.
2011-09-20 16:24:50 +00:00
Campbell Barton
425a81a29b remove WITH_* defines from image formats, instead just dont build the files at all. 2011-09-19 06:32:19 +00:00
Campbell Barton
049838fe0c update glew from 1.6 to 1.7:
from their site:
  adds support for OpenGL 4.2, new extensions, fixes bugs

remove ChangeLog, its missing from the 1.7 bundle, also remove html doc dir.
2011-09-18 15:37:36 +00:00
Sergey Sharybin
5a1665d64e Camera tracking integration
===========================

- Do not disable track when tracking frame-by-frame and tracking
  threshold became bad.
- Show anchored image in track preview widget.
- Do not show search area for non-selected and disabled markers.
- Keep anchor constant position when sliding offset parameters in panel.
- Re-enabled occasionally disabled openmp for tracking.
- Renamed clearing operator so now buttons are more clear.
- Updated eigen to the very recent version.

NOTE: I had to enable static aligning again due to it gave crashes
      when tracking on my new laptop. I'm not sure it'll work fine
      on another systems.
2011-09-15 19:01:32 +00:00
Sergey Sharybin
bd05d5565a Merging trunk into soc-2011-tomato up to revision 40241 2011-09-15 18:59:30 +00:00
Sergey Sharybin
41e5040e2f Use static context trick for all platforms.
Should be safe until modifier stack is not threaded.
Solves issues with mingw and older glibc version (like used in release environment).
2011-09-15 15:29:40 +00:00
Antony Riakiotakis
8a977cbcc9 fix compilation for MinGW by substituting qsort_r with qsort. What aversion do MinGW guys have for including '_r' variants of functions anyway?
Warning: a clean build will be needed probably to account for recent merge changes, or link errors will occur.
2011-09-13 19:51:58 +00:00
Sergey Sharybin
7548333b55 Fix typo in own commit for raycast library 2011-09-13 16:54:01 +00:00
Sergey Sharybin
0e3856d506 Fixes for Win+SCons and disable recastnavigationif game engine is disabled in SCons 2011-09-11 15:17:54 +00:00
Sergey Sharybin
4e9381bc35 Fixed for navmesh on FreeBSD. Oatch by sambler, thanks! 2011-09-10 14:55:14 +00:00
Sergey Sharybin
bdd4aa27b0 Another set of fixes for recats: osx uses different order of arguments for sort_r
and it's callback.

Also do not use char constants like 'NAVM' which is casting to int.
And added defautl section to switch in KX_NavMeshObject::DrawNavMesh.
2011-09-10 14:12:15 +00:00
Campbell Barton
01dca44a84 disable navmesh feature when building without the game engine. 2011-09-10 04:21:58 +00:00
Campbell Barton
fb4abf2e41 fixed linking with CMake 2011-09-10 03:42:45 +00:00
Campbell Barton
0128218254 recast and detour patch now builds again with GCC
- rearrange structs to work for 64bit
- define all vars before goto's
- ifdefs for qsort_r/qsort_s
- dont cast pointers to int only for NULL checks
- dont printf STR_String directly, get the char pointer from it

also minor change to gpu py module, no need to pass empty tuple to PyObject_CallObject, can just be NULL
2011-09-10 03:07:26 +00:00
Benoit Bolsee
dbd6658d73 svn merge -r 37306:39975 https://svn.blender.org/svnroot/bf-blender/trunk/blender 2011-09-07 15:34:04 +00:00
Sergey Sharybin
c37a32593b Camera tracking integration
===========================

Fix compilation for 32bit OSX.
2011-09-04 12:56:16 +00:00
Sergey Sharybin
ffaa5d0210 Merging trunk into soc-2011-tomato.
Pardon, lost message about which revisions are going to be merged..
2011-08-22 19:30:05 +00:00
Sergey Sharybin
62f553cc56 Camera tracking integration
===========================

Reverting commit 81613ee0cc94b315f333c9632b18b95d426aad05 from Matthias branch.
It destroyed lens distortion code.
2011-08-21 17:08:05 +00:00
Sergey Sharybin
36f20f162c Fix #28154: linux3-config.py doesn't exist
Change OURPLATFORM from "linux<major_version>" to simple "linux".
Since new policy for linux kernel versions that major version in
platform doesn't make much sense for building rules so the same
rules could be used for both of linux2 and linux3 now/

Tested on both of linux2 and linux3 systems.
2011-08-21 13:31:46 +00:00
Sergey Sharybin
3c9c5b3359 Camera tracking integration
===========================

Another fix for MSVC.
2011-08-19 15:38:11 +00:00
Sergey Sharybin
78a2086415 Camera tracking integration
===========================

Previous fix wasn't checked and it was typo there.
2011-08-19 15:17:26 +00:00
Sergey Sharybin
c15012e568 Camera tracking integration
===========================

Fixes for MSVC.
2011-08-19 14:23:09 +00:00
Sergey Sharybin
ed3e6aa972 Camera tracking integration
===========================

Bundle new libmv and add changes needed to support affine tracking.

Affine tracking itself would be added in next commit.
2011-08-19 13:41:11 +00:00
Sergey Sharybin
83b2be3749 Camera tracking integration
===========================

Bundle new libmv to fix crash caused by some errors in detector.

This commit makes SAD tracking much slower because now it supports
afgine tracking. Not implemented in Blender yet to keep commits
more clear.
2011-08-18 21:20:12 +00:00
Sergey Sharybin
b52502cd4e Camera tracking integration
===========================

Stop SAD tracker when error becomes too high.
Maximal allowed error value is controlled in Tracking Settings panel.
I haven't been able to find value which will work for most of cases
so it's now quite stupid value of 0. Currently values of 2-6 gives
quite nice result, but it depends on footage.
Upcoming changes from libmv side related on returning normalized SAD
would help here. Until this, please set max_sad manually.
2011-08-18 11:10:10 +00:00
Sergey Sharybin
07017db093 Camera tracking integration
===========================

Just another fix for MSVC.
2011-08-17 18:37:25 +00:00
Sergey Sharybin
9589668e9f Camera tracking integration
===========================

Another fix for msvc/osx. Hope it'll work now.
2011-08-17 17:44:38 +00:00
Sergey Sharybin
18f5322f7c Camera tracking integration
===========================

- Bundling new libmv, issues with undefined uint and C99 functions should gone.
- Changes to Detect operator to match new API.
2011-08-17 17:12:10 +00:00
Sergey Sharybin
8b4c115a58 Camera tracking integration
===========================

Additional code clean-up and fixed typo.
No functional changes.
2011-08-17 11:17:18 +00:00
Sergey Sharybin
90a2ac4228 Camera tracking integration
===========================

- Bundle new version of libmv.
- Use image from nearest track's keyframe as reference for tracking.
  This should reduce drifting.
- Added option to switch to new SAD tracker.
  This tracker doesn't support pattern with variable size (yet?)
  and always uses pattern 16x16px.
  Tracker could be choosed in Tracking Settings panel.
2011-08-17 07:16:11 +00:00
Sergey Sharybin
36c5f57616 Camera tracking integration
===========================

- Distortion/undistortion were accidentally swapped in both of grease
  pencil calibration and grid.

  This was fixed but distortion coefficients should be re-adjusted.

  There are some issues with high distortion coefficients but it
  came from libmv and until it'll be fixed there nothing really
  can be done here.

- Fixed displayed aspect ratio for muted footage when pixel/display
  aspect ratio is differ from 1.0 or proxy size is not Full Render,

- Added c-api for image distortion/undistortion, Not used yet.
2011-08-12 21:56:08 +00:00
Sergey Sharybin
2a5a5bcd5a Camera tracking integration
===========================

Bundling new version of libmv. It's repo is ready for
bundling again, some patches which were applied on our
side are in libmv repo now.

This new version of libmv also contains patch from John Carpenter
which makes reconstruciton a bit more "stable" -- some kind
of fallback algorithm.
2011-08-09 10:42:39 +00:00