Commit Graph

47594 Commits

Author SHA1 Message Date
Brecht Van Lommel
537c18a9ce Fix #34414: python error with frame_change callback and Cycles motion blur.
Now the RenderEngine.render callback allows writing blender data again, it
should not be allowed but in practice the API and render threading code is
too limited to make this work at the moment.
2013-02-28 15:33:26 +00:00
Bastien Montagne
1039135965 More UI messages fixes... 2013-02-28 15:31:20 +00:00
Sergey Sharybin
47d6d18771 Changed a way how RGB images are saving from RGBA
Before alpha channel was simply ignored causing bad looking
straight colors which is pretty much useless.

Now saving RGB would alpha-over image on top of black color,
which makes final image look really nice. It's also very
such the same what other graphics software does this.

In the future we could easily support configurable backdrop
color, which would be really the same as other SW does it.

Also, it'll probably worth adding the same mode to RGB
display of image editor.
2013-02-28 14:25:26 +00:00
Sergey Sharybin
bad03bcfb1 Draw a checker board as a background for animation player
This makes it easier and useful to investigate alpha channels,
without this straight colors are displayed on the screen which
are completely useless in case of player.
2013-02-28 14:25:18 +00:00
Sergey Sharybin
5cb22bbedf Fix sequencer crash when pasteing strips after creating new file
Issue happened for scene. movie clip and mask strips, which contains
pointers to datablocks which are freeing on loading new file.

Also, scene strip would crash when pasted from clipboard after scene
was unlinked from file.
2013-02-28 14:25:09 +00:00
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
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
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
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
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
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
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
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
Campbell Barton
5d99b10242 Add missing select menu for weight, vertex, texture paint modes. 2013-02-26 15:42:33 +00:00
Campbell Barton
8033834573 fix own regression since 2.65 [#34438] Solidify crease bug 2013-02-26 14:32:53 +00:00
Sergey Sharybin
0ec75be1c6 Camera tracking: support refining radial K1, K2 only
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-02-26 11:46:38 +00:00
Campbell Barton
8558fdd4c7 patch [#34437] Fix text editor bug: ctrl+F is not configurable
in fact the keymap editor was missing other keymaps so added these too,
also updated keymap checker to make sure there is no mismatch with region/space types.
2013-02-26 05:22:04 +00:00
Campbell Barton
bba6b535de add ctest for keyconfig_utils to check for missing items. 2013-02-26 04:48:16 +00:00
Campbell Barton
98f7f73644 fix [#34415] Edge slide results in segmentation fault on certain mesh 2013-02-26 03:20:10 +00:00