Commit Graph

39537 Commits

Author SHA1 Message Date
cfd0438d3c fix for crash in edgering subd when 3+ disconnected edge rings were found. 2013-06-02 17:02:56 +00:00
7068a5eba7 tweak to recent commit, don't show keymap in menu tooltips. 2013-06-02 15:58:43 +00:00
732c566f2f Fix #35587: Cycles: image movie to single image crashing
Crash was happening on windows platforms only and was caused
by some specifics about how CRT works.

Basically, blender and all of the .dll are compiled with /MT
flag, which means blender.exe and all .dll are using separate
environments. This makes it impossible to pass file descriptors
from blender to other dll, because it becomes invalid in the dll.

And this is exactly what was happening: OIIO was trying to open
movie file with all known plugins and one of them was zlib. And
the way OIIO was using zlib API is opening the file using Boost
and passing a file descriptor to zlib. And since zlib was a
dynamic library this lead to general issues using this descriptor
in zlib code.

Solved by linking to zlib statically. This allows to safely pass
file descriptor to zlib API. Alternative would be to compile all
the stuff with /MD flag, but that's much bigger and less robust
way to fix the issue.

Tested on windows using msvc2008, scons plus cmake both 32 and 64
bit versions. Seems to be working fine.

Further tweaks for mingw and msvc2012 could be needed tho.
2013-06-02 15:02:17 +00:00
ec30e3f00e corrections to modifiers from recent normal handling changes
- solidify didn't define a dependsOnNormals callback (which it should have)
- build wasn't passing on dirty normals.
- decimate wasnt setting dirty normals.
2013-06-02 04:09:29 +00:00
e648ca8862 use booleans for modifiers and api callbacks. 2013-06-02 03:59:19 +00:00
7ce0ea00a0 code cleanup: remove unused struct 2013-06-02 02:25:40 +00:00
a8c55a612b remove duplicate operator,
select-split and unlink-selection did the same thing,
keep select split since it fits closer to mesh editmode and single key access (Ykey).
2013-06-02 00:29:30 +00:00
075a910d72 fix regression in reducing normal recalculation [#35595],
pass the dirty-normal-state from the input dm to the output.
2013-06-02 00:20:26 +00:00
c6d1b6c3fc Bug fix, own collection while testing
New OSX "Life resize" was also being called during opening of windows - when things are
not initialized yet. Crashed on opening full-screen window (which is animated in OSX).
2013-06-01 15:24:15 +00:00
Lukas Toenne
8d3cdf292c Extended max size for group node types from 200 to 400, in case users need long socket names visible. 2013-06-01 12:45:42 +00:00
Dalai Felinto
77e4227c25 fix stubs for blenderplayer linking 2013-06-01 08:59:52 +00:00
Dalai Felinto
eb41fdb367 rna small fixes (bad copy-pasting) 2013-06-01 08:49:51 +00:00
876cc99aff display menu items key shortcuts in the button tooltips. 2013-06-01 05:53:44 +00:00
2d4a682a8e add popup menu to allow python scripts to show popups without having to define a menu class first. 2013-06-01 04:06:38 +00:00
f47cb7e2d9 Fix for r56965 by Tamito:
* Panorama Camera was not working for Blender Internal and Cycles anymore.

Code checked for Freestyle render layer flag, but as the flag is enabled per default, it broke Panorama camera in all cases. It made no sense to check this on a render layer basis anyway... check if Freestyle is enabled in general now instead.
2013-06-01 02:14:07 +00:00
249bf25565 editmesh display user request, keep the edge lengths within the view bounds (so you can see edge length even when zoomed in) 2013-05-31 23:52:39 +00:00
3e97e2c8e8 style cleanup 2013-05-31 22:35:25 +00:00
b577f0c16e previous fix for #35578 didnt work right, check direction of the open edge loop too. 2013-05-31 18:58:32 +00:00
db42a596aa fix [#35578] New bridge tool; bowtie crossing when destination edges form one half of an 'X' 2013-05-31 15:48:42 +00:00
7f69cbb39f Fix #35497: rendering preview range gives wrong duration
Was a mistake in PTS calculation when using opengl animation render.
2013-05-31 10:31:44 +00:00
cc390206fc Fix #35581: Crash when using Track Refine 2013-05-31 10:17:29 +00:00
2ad930e41a Made text datablock properties 'is_in_memory' and 'is_dirty' editable in Python.
The rationale of this revision is to provide an easy way to make text datablocks internal
from within Python (i.e., by setting these properties to True and the 'filepath' property
to empty string).
2013-05-31 07:40:03 +00:00
54e8cacdcf improve edgering subdivide curvature calculations (calculate length projected onto the normal plane).
also correct recely added asserts.
2013-05-31 06:28:11 +00:00
58a748431e correct cast to uintptr_t for smallhash use. 2013-05-31 00:19:38 +00:00
638c021039 tweak to edge-loop select, so loop selecting a side of a subdivided triangle selects all edges along one side. 2013-05-30 21:39:12 +00:00
46eb79c862 units: display 0.5mm rather then 500um, nicer when dealing with very small sizes but not microscopic. 2013-05-30 21:17:50 +00:00
c431df8f77 remove null checks for list functions, all hard asserts so we would have noticed problems already. 2013-05-30 19:05:46 +00:00
ba767857b8 fix for incorrect use of strncat in uiItemMenuEnumO 2013-05-30 18:42:32 +00:00
d7f51f83f6 remove CD_MASK_NORMAL from CD_MASK_DERIVEDMESH, bmesh merge included this but its not needed.
Now add asserts to make sure this layer is only added once the modifier stack has been calculated.
this saves normal layer being calculated whenver vertex normals need updating.
2013-05-30 18:09:19 +00:00
09e11ad6ef modifier stack: lazy initialize normals
many modifiers were calculating normals, when those normals were ignored by the next modifier.
now flag normals as dirty and recalculate for modifiers that set use `dependsOnNormals()` callback.

Quick test on mesh with 12 modifiers (mostly build type), calculated normals 6 times, now it only runs once - so this will give some speedup too.
2013-05-30 17:36:43 +00:00
7586580241 fix debug derived mesh print function, layers in the customdata that were NULL were not printed. 2013-05-30 13:13:43 +00:00
Lukas Toenne
281e538be0 Fix #35570, old group nodes with empty socket name strings crash. The identifier assignment was not taking potentially empty name strings into account. In addition some of the BLI_uniquename calls were
not passing a valid defname parameter, also crashing.
2013-05-30 11:51:21 +00:00
79f5a013be Patch #35464: Marker placement for motion tracker by clicking on a desired location
Now button in the toolshelf behaves this way:
- User clicks on "Add Marker"
- Then he clicks where the marker should get placed

Patch by Marcos Couto (ocf) with own modifications.
2013-05-30 11:37:53 +00:00
fe76c06b30 UI: support 3 digit hex colors like HTML, e.g. #123 becomes #112233.
Patch #35359 by Forest Ka.
2013-05-30 09:48:17 +00:00
cf5e979fb4 Motion tracking: automatic keyframe selection
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-05-30 09:03:49 +00:00
9fb3d3e032 remove redundant includes from cmake and scons. 2013-05-30 02:16:22 +00:00
9cf6e305a9 split bge includes for scons onto their own lines (for easier merging) 2013-05-29 21:56:55 +00:00
65baf6ca5c remove duplicate sys-types headers.
also change define checks in BLI_sys_types.h (was warning a lot in linux about unused defines).
2013-05-29 21:38:23 +00:00
e9f0b1ad0a Grr, forgot this in r57127...
BF_PYTHON_INC can contain more than one path (in the mono-string format), don't know how this could not be found earlier, completely broke build of GE on any recent Debian/Ubuntu distro???
2013-05-29 18:59:59 +00:00
88fd394dba Addition to r57094 by Campbell:
VS 2010 and 2012 have stdint.h so we should use them for consistency instead of defining the inttypes ourselves.
Added if condition for for stdint.h include for >= VS 2010

P.S.: Compiled and tested on VS2008-2012 and MinGW with scons and CMake ;)
2013-05-29 18:23:59 +00:00
0d496b8dce svn merge ^/tags/blender-2.67b-release/blender -c57122 2013-05-29 18:18:11 +00:00
bcf32407c1 Fix #35374: Region overlap + bugs
Was missing keymap for REGION_TIMER, which ended up
in missing updates happening.

Added this kind of timer to RNA, so keymaps could
bind to it.

Also made 3ds max keymap working again. Too bad it
was broken in 2.67 and 2.67a :S
2013-05-29 16:03:09 +00:00
Lukas Toenne
2757153d02 Cleanup: Removed all NODE_OPTIONS flags from C node type definitions, these are no longer required and have no effect. Whether or not a node supports additional options buttons is now determined by the
existence of a draw callback (uifunc and/or uifuncbut).
2013-05-29 15:38:51 +00:00
Lukas Toenne
ff42bfe242 Remove the NODE_OPTIONS flag usage from node->typeinfo. This is a redundant flag which can be replaced by simply checking for nodetype->uifunc/uifuncbut callbacks (if these callbacks are defined the node
type generally supports options). Note that the node->flag still uses NODE_OPTIONS as a switch to toggle the display of such options!
2013-05-29 15:14:11 +00:00
Lukas Toenne
e04965ee1c Set the NODE_OPTIONS flag for all nodes by default. If the node type has no options it will be ignored anyway. This makes sure that if options are added to a node type later on there is no need to do a versions patch to update this flag. 2013-05-29 15:14:09 +00:00
Lukas Toenne
d922d67054 Reverted a TODO comment from r54429 which disabled the NODE_OPTIONS flag check, so node option buttons could not be disabled at all. This was meant as a workaround to avoid adding do_versions just to set initial NODE_OPTIONS flags on old nodes, but needs a better solution. 2013-05-29 15:14:08 +00:00
d73529b296 scene render dimension panal: avoid re-creating the framerate string on every redraw, cache the string for reuse.
also remove redundant returns from my last commit.
2013-05-29 14:55:06 +00:00
39f0fbef95 fix for own regression in bridge tool since rewrite, UV's were not correctly copied over. 2013-05-29 13:41:35 +00:00
Lukas Toenne
902dbbe301 Replacement for the "Active Node" panel in node editor properties sidebar. This panel is now defined in space_node.py instead of node_buttons.c. The properties have been split up into generic properties
(name, label), custom colors (closed by default) and input parameters (extra options + unlinked input socket values).
2013-05-29 12:43:37 +00:00
Lukas Toenne
9eb93a9d9c Node options draw function fix for C nodes: use the default button draw function as a fallback if no extended draw function is defined. 2013-05-29 12:43:35 +00:00