Commit Graph

45284 Commits

Author SHA1 Message Date
Sergey Sharybin
efdca34f52 Fix memory leak when loading multilayer EXR as movie clip
Such kind of image sequences wouldn't be displayed still
and supporting them would take some additional time, but
for now it'll be no memory leak on attempt opening such
images.
2013-02-28 14:25:00 +00:00
Sergey Sharybin
3e320a67e3 Remove unused rigid registration code
There're some features planned which would
require rigid registration, but this code
would need to be re-done anyway to use new
minimizer and solving some issues with ICP
algorithm there.
2013-02-28 14:24:52 +00:00
Sergey Sharybin
52f34f017d Modal (aka tripod) solver rework
Several major things are done in this commit:

- First of all, logic of modal solver was changed.
  We do not rely on only minimizer to take care of
  guessing rotation for frame, but we're using
  analytical rotation computation for point clouds
  to obtain initial rotation.

  Then this rotation is being refined using Ceres
  minimizer and now instead of minimizing average
  distance between points of point of two clouds,
  minimization of reprojection error of point
  cloud onto frame happens.

  This gives quite a bit of precision improvement.

- Second bigger improvement here is using bundle
  adjustment for a result of first step when we're
  only estimating rotation between neighbor images
  and reprojecting markers.

  This averages error across the image sequence
  avoiding error accumulation. Also, this will
  tweak bundles themselves a bit for better match.

- And last bigger improvement here is support of
  camera intrinsics refirenment.

  This allowed to significantly improve solution
  for real-life footage and results after such
  refining are much more usable than it were before.

Thanks to Keir for the help and code review.
2013-02-28 14:24:42 +00:00
Sergey Sharybin
2a5ed5293d Increase verbosity level for reprojected markers info
This information is useful, but in cases when you, say,
working on a bundler it's annoying to scroll all the
information up.

Now behavior would be:
- running `./blender --debug-libmv` will print all the
  debug messages
- running `./blender --debug-libmv --verbose 0` will
  print only debug messages from solvers, recosntruction
  and so, but will bypass final reprojection bunch of
  messages
- running `./blender --debug-lib,v --verbose 1` will
  include final reprojection messages.
2013-02-28 14:24:25 +00:00
Sergey Sharybin
9bfe99281c Move radial distortion code to own templated function
This shall not lead to any functional changes, just
avoids radial distortion code duplicated in camera
intrinsics and bundling code.

For fancier bundle adjustment supprting different
distortion models this is not actually enough and
would need to make some bigger changes, but this
changes makes code a bit easier to maintain already.
2013-02-28 14:24:17 +00:00
Campbell Barton
2398e074d3 fix [#33466] alt + mouse wheel
Alt+Mouse Wheel events depended on the button under the mouse being active, else it would change the current frame.
Button re-activation wasn't 100% reliable since it depends on fake mousemove events.

Now keep button active when its executed if the mouse stays over it.
2013-02-28 11:39:13 +00:00
Campbell Barton
4f4e45540d fix for harmless glitch rotating the camera in camera mode, having the center point so close to the viewpoint caused the helper line to erratically move about because of float precision. 2013-02-28 11:29:27 +00:00
Joshua Leung
a368334f74 LocDiff Driver Vars: Red-Alert is not needed on the space-selectors 2013-02-28 11:00:06 +00:00
Joshua Leung
6ac941c3f0 Bugfix: Invalid target tagging for "Distance" driver variable type only
highlighted the first target if/when both targets were empty.
2013-02-28 10:50:13 +00:00
Joshua Leung
1700cf8717 Bugfix: Types mismatch (flags and targetFlags were ints, but dtar->flag is a
short)
2013-02-28 10:27:04 +00:00
Joshua Leung
ac6c218cf4 Invalid Driver Targets are now indicated appropriately (using Red Backgrounds)
in the UI

This is the second part of the fixes for [#32492], making it easier to identify
which part of a driver (i.e. which of its targets) is causing problems

A number of additional/related changes needed to be made:
* Red-alert status for layouts is now propagated down to child layouts when they
are created. This is needed as otherwise some of the templates used in the Graph
Editor driver settings won't actually get the red-alert status flushed down to
them. Also, note that this status needs to be set before any widgets are added
to the layout, or else the settings aren't applied when the relevant widgets get
created.

* "Single Property" RNA-Paths resulting in out of bounds array access will now
trigger an error status and appropriate warnings

TODO:
* The error tagging doesn't get applied immediately after variables are created,
or their types changed
* There was also some other weirdness involved when a higher-value flag (1<<10)
was used for this setting, which needs further attention
2013-02-28 07:13:33 +00:00
Campbell Barton
2afca3e317 fix [#34426] Manipulator handles drawn incorrectly by depth
original patch by Philipp Oeser (lichtwerk) with own changes.
2013-02-28 06:12:06 +00:00
Dalai Felinto
748dd18de4 rst doc update: adding a link to Joystick class from bge.logic.joysticks
(so one can find more about the joystick class without having to search joystick)
code untested by the way. Sorry but I can no longer build sphinx docs here. I will try to fix that later.
2013-02-28 05:18:47 +00:00
Campbell Barton
1810913f81 fix for bmesh regression similar to last revision r54920. only effected loading old blend files without edge data. 2013-02-28 04:18:01 +00:00
Campbell Barton
d17c13d145 fix for regression since BMesh merge, selecting linked faces in face-mask mode was using an incorrect lookup on loops which made select-linked fail 2013-02-28 03:39:41 +00:00
Campbell Barton
15d443b7ea code cleanup: includes 2013-02-28 01:28:46 +00:00
Campbell Barton
646b947cc3 fix for linking with recent armature refactor, was also missing file from CMakeLists.txt. 2013-02-28 00:45:07 +00:00
Campbell Barton
e4c887377b patch [#34465] Fix text editor bug: Crash when overwriting ascii character with multibyte character
from Shinsuke Irie (irie)
2013-02-28 00:08:47 +00:00
Joshua Leung
dff8c01c3e Renaming the remaining PoseMode files for consistency (camelCase to
underscores_style)
2013-02-28 00:01:20 +00:00
Joshua Leung
e8d42ab48e Properly prefixing name of exproted armature API 2013-02-27 23:56:51 +00:00
Joshua Leung
a807f087e0 Code cleanups
* Replace magic numbers with enum-defines
* Remove superfluous return; statements (used as last statements in a few
"static void" methods)
* Remove some old unused/commented out stuff
2013-02-27 23:50:44 +00:00
Joshua Leung
28a84a2c3a Code Maintenance - Splitting up Armature/Pose Editing Files
This commit splits editarmature.c and poseobject.c into several files, such that
certain types of functionality are (mostly) self-contained within particular
files (instead of being mixed in with other functionality in a large file).

In particular, this was done so that:
1) Armature EditMode tools are now in the armature_*.c files only, and Pose Mode
tools in pose_*.c files only.
     - In one or two cases, this hasn't been possible as the two modes rely on
much of the same shared infrastructure.
2) The "clear loc/rot/scale" operators and pose show/hide are no longer housed
in editarmature.c
3) Selection operators, Transform operators, structural (add/delete) operators,
and supporting utilities for the modes (enter/exit/roll-calculations) are not
all interleaved in an ad-hoc manner

Notes:
* I've tried to ensure that the history of the new files has been maintained by
doing
   svn copy {editarmature.c/poseobject.c} {armature_*.c/pose_*.c}
   Unfortunately, this means that the diffs are a bit messy.
* There should be no functional/logic changes here. Just code moving around and
cosmetic comment tweaks where needed.
* #includes have largely been untouched for now, but could be cleaned up later
* CMake changes untested, but should work in theory.
2013-02-27 23:34:29 +00:00
Dalai Felinto
07cd75d7b0 fix for [#34440] motion blur (2d filter) not working in osx
thanks Jens Verwiebe for the tests and review.
2013-02-27 22:48:34 +00:00
Gaia Clary
9791275821 Added preset values for Collada exporter. 2013-02-27 17:48:07 +00:00
Ton Roosendaal
2e830d05c4 Report #34450
Fix for 2.66a

Some editors in Blender (Like Graph) have "maxzoom" set to 0, which caused the 
MMB zoom sensitivity to be minimal. That used to be much more responsive, restored
it to how it worked before.
2013-02-27 17:12:57 +00:00
Bastien Montagne
4238d6d758 Various small enhancements/fixes.
Most notable difference from now on will be that all py is handled from current blender's resource dirs, no more from source dir. Better for consistency, and avoid e.g. cycles' addon to be checked twice...
2013-02-27 16:24:20 +00:00
Ton Roosendaal
a8c48058f9 Bug fix #34436
Two example files that crashed texture nodes. 
- On delete texture nodes, it should free the exec cache (because this cache
  stores the node pointer.
- On redo, nodes can exist can exist without typeinfo set. Exec (free) code
  was not checking for that. Don't ask me why this happens... tex nodes are weird.
2013-02-27 14:25:39 +00:00
Campbell Barton
713c9afb39 fix [#34460] text editor freezes when turning on syntax highlight 2013-02-27 14:19:44 +00:00
Gaia Clary
debc3ac910 Collada export: Add ngon support (initial) 2013-02-27 13:53:43 +00:00
Campbell Barton
d4d45711dc fix for error with drag toggle which showed up with overlapping regions. 2013-02-27 11:26:51 +00:00
Sergey Sharybin
3d7867d7f0 Added RGBA|RGB channels toggle to sequencer preview
Main purpose of this is to be more compatible with older
versions of blender (before alpha cleanup) where sequencer
used to display premultiplied image on an straight opengl
viewport.

Now sequencer preview would behave closer to image editor
However adding Alpha and R|G|B displays is not so simple
because sequencer is using 2D textures. Would be nice to
implement this options as well, but this is not so much
important IMO.

This hall fix
- #34453: VSE: Subtract function does not work properly

TODO: Make RGBA display default for our startup.blend
2013-02-27 10:26:58 +00:00
Campbell Barton
4e59fb2352 minor changes to outliner
- linking groups into a scene now uses the objects original layers (some users have the layers set to useful values, so overwriting isnt so nice).
- dropping objects into the 3d view would make them active but not selected, a valid but confusing state, since most tools activate and select now objects.
2013-02-27 10:19:31 +00:00
Campbell Barton
7eeb915e8d changing image dropping into the viewport to add empty objects (from r54825) wasnt such a popular move,
reinstate old behavior, holding Ctrl now adds empty objects instead.
2013-02-27 10:14:36 +00:00
Sergey Sharybin
fefc684036 Fix #34439: Strip modifier - Mask multiply failure 2013-02-27 09:58:40 +00:00
Campbell Barton
3468eba71a fix for own regression, edge path tagging worked but toggline bevel didnt.
reported as bug [#34449]
2013-02-27 07:05:01 +00:00
Campbell Barton
67f38af415 fix for own regression - joining meshes didn't merge customdata flags (could loose crease/bevel weights). 2013-02-27 05:38:48 +00:00
Campbell Barton
aa80a69839 enable grabbing for 2d view zooming, good for the graph editor. 2013-02-27 04:59:39 +00:00
Campbell Barton
29b4b56c66 make sure objects dragged into the viewport are not hidden. 2013-02-27 04:57:53 +00:00
Campbell Barton
68f9226d5b code cleanup: unused arg 2013-02-27 01:43:48 +00:00
Campbell Barton
a14547882a code cleanup: quiet warnings 2013-02-27 01:40:36 +00:00
Peter Schlaile
0e3b878e0f == Sequencer ==
This fixes the placement code of new files added to the sequencer timeline.

The old code tried to guess the strip position from the current mouse
pointer position.

Annoying effect: if you add a new strip using the menu, especially if the
file editor pops up, the strip ends up in nowheres land (most likely around
track 40, frame -200).

New behaviour: strips are always placed at cfra, which is the
sequencer equivalent to the 3D cursor (and that's where new objects in 
3D editing end up).

Bonus feature: we try our best to guess the right track by finding the
nearest strip by type.

The patch was inspired by 
[#32766] VSE: Add Strip on Current Frame

Thanks to venomgfx for the idea!
2013-02-27 00:04:07 +00:00
Bastien Montagne
4475caf350 Grmlll... *Always* check before commit, even on such simple things! (Fix for own mistake in previous commit). 2013-02-26 23:12:42 +00:00
Campbell Barton
0dd6988a1e add PHY headers to cmake's ketsji (else some IDE's won't show) 2013-02-26 23:08:42 +00:00
Bastien Montagne
94a34b85a4 Fix [#34455] Origin to Center of Mass is missing in menu Object > Transform
Just adding the needed py line.
2013-02-26 23:01:54 +00:00
Brecht Van Lommel
4f3ca854e1 Fix various warnings with clang build, and adjust cmake clang warnings flags
to include a few more that gcc is using too.
2013-02-26 21:58:06 +00:00
Brecht Van Lommel
1927f44686 Fix build error in depsgraph refactoring commit. 2013-02-26 20:34:37 +00:00
Gaia Clary
bd2034a749 Add: [#34443] Ability to set 'Pivot Center for rotation/scale' missing in weight paint mode 2013-02-26 18:35:16 +00:00
Brecht Van Lommel
e8642ecc00 Dependency Graph: refactoring to move private functions to the private header,
and add more documentation about the public functions. Also removed unused graph
traversal code and other minor unused functions.
2013-02-26 18:15:51 +00:00
Sergey Sharybin
1d20f2496a Use threaded cost function and jacobian computation
Also made it theraded linear solver, seems it makes
sense for iterative schur with inner iterations
enabled.

Use OpenMO's max therads called from bundler code
to detect how many threads to use. Could be changed
in a way that number of threads is passing in options
from blender side in the future.

Also removed redundant V3D definition from compiler's
flags.
2013-02-26 17:52:10 +00:00
Brecht Van Lommel
0f91a283d4 Fix #34421: cycles viewport render stuck with no objects in the scene. 2013-02-26 17:06:05 +00:00