Commit Graph

12014 Commits

Author SHA1 Message Date
Sergey Sharybin a0da34871a Fix for GCC bing stupid and not casting float*[3] to const float*[3] without a wanring :S 2013-10-17 14:44:23 +00:00
Sergey Sharybin eb1b4c3b55 Fix #37097: Setting scene frame does not update active camera
The issue was caused by uncertainty of current camera when
there're no markers to the left of current frame.

Now in this case camera from the top-left marker will be used.
2013-10-17 14:10:03 +00:00
Brecht Van Lommel abee8a8717 Fix #37109: missing cycles texture display in edit mode.
My previous fix for uninitialized texture coordinates was not working well,
and in fact there was a bigger issue with GLSL drawing and missing attributes
with immediate draw mode. Now it will explicitly pass zero rather than having
it use whatever value was set last.
2013-10-17 14:04:10 +00:00
Campbell Barton 089d0ad8f9 add IDP_FreeFromGroup(), replaces IDP_RemFromGroup(), IDP_FreeProperty(), MEM_freeN(). 2013-10-16 05:29:28 +00:00
Campbell Barton e7f1e1aed1 edits to r60777 - move ED_object_hook_reset_do into BKE object (if RNA needs to call ED_* functions its a hint they might be better in BKE). 2013-10-15 20:15:45 +00:00
Sergey Sharybin eb69cb7de3 Get rid of Allow Fallback option
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-15 15:21:41 +00:00
Lukas Toenne a90b8ebe48 Fix for crash from double-freeing in nodes:
The way node groups check for localized trees in the ntreeFreeTree_ex function does not work. When the main library is freed on exit it also frees genuine node groups trees (which is correct), but then
node groups referencing these trees will not find them in the library and interpret that as a localized group, attempting to free them a second time ... Nicer solution is to just use a special flag on
localized node trees so we can clearly distinguish them from genuine trees in main.
2013-10-14 08:03:55 +00:00
Lukas Toenne dfea1dd0d7 Fix #37057, Detach (Alt + D) doesn't work in nodes editor / compositor.
The operator exits early when there are no internal links. This prevents it from removing links which have no internal connection.
2013-10-14 08:03:53 +00:00
Campbell Barton 52296b941e code cleanup: remove duplicate assignments 2013-10-14 07:15:59 +00:00
Campbell Barton 78de5efec1 fix for array index use before checking range 2013-10-14 07:10:38 +00:00
Campbell Barton cbba50a3a1 fix for over-alloc in dyntopo, was allocating the vertex size, not pointer size (~85% wasted space). 2013-10-13 05:13:38 +00:00
Campbell Barton b6db417ee4 code cleanup: use const's for vector args. 2013-10-12 02:19:37 +00:00
Dalai Felinto 029f4b9767 adding WITH_IMAGE_OPENIMAGEIO and removing the PSD build option
As per Brecht van Lommel's suggestion.
2013-10-11 16:38:04 +00:00
Campbell Barton afab39b9d6 code cleanup: use const's for static arrays 2013-10-10 20:22:17 +00:00
Campbell Barton e220d3228f add MEM_SIZE_OPTIMAL to avoid memory fragmentation & waste lost to slop-space. 2013-10-10 18:18:13 +00:00
Shinsuke Irie 4be7427346 Weight Paint Tools: Add "Subset" option to "Normalize All"
This option is needed when vertex groups are used for both armature
deformation and the other purpose such as influence of mesh modifier.

Thanks to Campbell for code review!
2013-10-10 06:33:23 +00:00
Campbell Barton ea8b44cc15 style cleanup 2013-10-09 21:19:25 +00:00
Bastien Montagne 110b32cf6f Fix [#37012] The new export split normal does nor produce correct results.
Was a silly error introduced in algo during optimization, vertices having sharp and smooth edges would only get the first poly's normal for each "smooth loop group".

Also done a (minor) optimization, and some comment fixes.
2013-10-09 17:48:27 +00:00
Dalai Felinto 4abb8fde95 Photoshop PSD support
We now support the combined layer of Photoshop files (stored as layer 0
in the file). This way users can keep their files as multilayer PSD and
Blender always handle them as flat images.

For perfect alpha this requires an OpenImageIO update:
https://github.com/OpenImageIO/oiio/commit/342cc2633ff590a3bb278481c61ae798c7148361

Photoshop sample files:
https://github.com/OpenImageIO/oiio-images

Brecht has some pending fixes to push for OIIO as well, so we may as
well wait to update our libraries.

What works:
===========
* 8bit images (with or without alpha)
* 16bits images (alpha discarded)
* Photoshop files saved with 'Maximum Compatibility'
* Cycles, Blender internal,  BGE (and player)

Known limitations
(due to OIIO dependency):
=========================
* Images with less than 4 channels show a wrong thumbnail (bug may be in  OIIO)
* Packed images are not supported
* We do not write PSD files.

Note: old Blenders have support for PSD via Quicktime library. But due
to license issues this was discontinued.

Many thanks for Brecht van Lommel for reviewing the patch, suggesting
multiple improvements and to help solving the alpha issue.
2013-10-08 21:17:24 +00:00
Campbell Barton 525d0cac82 remove toolsettings (unused for a long time). 2013-10-08 13:07:09 +00:00
Campbell Barton 98a4ae8562 use booleans in BKE_nurb_handles_autocalc and BMO_op_vinitf 2013-10-08 12:35:58 +00:00
Campbell Barton b0bb5cc6b2 replace len_v3v3 with len_squared_v3v3 for comparisons. 2013-10-08 12:03:49 +00:00
Lukas Toenne 31433a3809 Fix #36981, Removing Sample line fails during render.
The SAMPLELINE flag in histogram was set during the BKE_histogram_update_sample_line function. That function in turn is called during every scope update in area draw function, meaning that during render
it constantly gets set. OTOH the operator tries to disable the flag on invoke, which "cancels" the sample line by default. So during render the operator un-setting of the flag has no effect, because the
render job immediatly triggers a redraw, which updates scopes and sets it again.

Moved the flag out of the actual sample line update function into the operator execute. Now only the operator enables/disables overall sample line drawing, while the rest of the update works as before.
2013-10-07 09:25:39 +00:00
Brecht Van Lommel c7882ec3bb Fix for my last customdata fix, accidentally left in comments. 2013-10-05 19:56:32 +00:00
Campbell Barton b20c3f97a4 rename presets not to use '+' character, also some typo fixes. 2013-10-05 14:19:39 +00:00
Brecht Van Lommel 7cb10c60af Fix for unnecessary customdata warning with empty meshes. 2013-10-05 13:36:55 +00:00
Bastien Montagne b0c36617c6 Remove prints from own r60549, sorry for the noise. 2013-10-04 17:49:26 +00:00
Bastien Montagne d1827ff5d7 Fix obvious bug in particle code (copying normal into nor when in if(ornor) block...), though probably harmless in current code... 2013-10-04 14:28:32 +00:00
Brecht Van Lommel cdb8736f83 Fix #36930: dynamic topology sculpting with masks gave bad results:
* The mask was not subdivided properly on splitting edges, which gave interesting
  but definitely wrong fractal-like borders around masks.

* Edge splitting was only done where the mask was < 50%, with the reasoning that
  you can't do a 50% topology update. But this gives an ugly border in the mesh.
  The mask should already make the brush move the vertices only 50%, which means
  that topology updates will also happen less frequent, that should be enough.
2013-10-04 13:40:21 +00:00
Lukas Toenne e1a34f22d7 Fix #36939, Objects with nodes appear in gray in viewport, using Solid shade, and the Blender Engine (or Game Engine).
The "active ID node" concept has become slightly more complex with pynodes. To find the active material or other ID links in a node tree recursively requires a hash key based on the "parent" tree of the
current node group. To avoid returning NULL in case this key is not yet initialized (i.e. ID node has not been activated yet), just accept 0 key as well for the base node tree.
2013-10-04 08:27:54 +00:00
Campbell Barton 43217da6d9 set mempool debug in the game-engine-player too. also remove redundant mempool includes. 2013-10-03 16:34:00 +00:00
Antonis Ryakiotakis 98ee7fdd9a Fix an own regression introduced in the dyntopo cleanup commits. Do not
remove a vertex from the pbvh if the only face it was part of was
removed from the pbvh. This should work but no time to investigate now
properly, and better have a solid release. The problem could be seen
when sculpting to open meshes. Some vertices and faces on the boundaries
would become stuck and unresponsive.
2013-10-02 22:18:23 +00:00
Campbell Barton ba01e5e3eb fix [#36919] Cannot delete keyframe of animated simulation parameter if simulation has been disabled 2013-10-02 16:37:47 +00:00
Campbell Barton 4627f9d92c style edits and use macro for prefix check 2013-10-01 16:40:11 +00:00
Dalai Felinto d2e55cb282 bugfix [#32346] Node animation, removing nodes keeps FCurves.
The same bug happens for modifiers, but better to address it separately.
Contribution and review by Lukas Toenne and Brecht van Lommel
2013-10-01 16:15:52 +00:00
Brecht Van Lommel d310e060d2 Fix use of uninitialized variable in recent node tree changes. 2013-10-01 15:37:01 +00:00
Campbell Barton 9883641f46 add assert for bone renaming, to check if the chanhash is still valid. 2013-10-01 13:28:59 +00:00
Brecht Van Lommel ffec71db84 Fix issues reported by coverity scan in recent changes to customdata code. 2013-10-01 12:48:41 +00:00
Campbell Barton d370c7619f replace inline searches for BLI_findindex 2013-10-01 11:44:39 +00:00
Lukas Toenne ff9f799d8b Yet another fix for node groups localization: The ntreeLocalMerge function can not be used to free localized node groups, because it is not commonly called to free the localized node trees. Instead these
data blocks are freed using the standard ntreeFreeTree function, so freeing localized node groups has to be done there. This means an ugly loop over G.main to detect localized groups, but should not be a
big problem in practice.
2013-10-01 09:29:56 +00:00
Sergey Sharybin 3073a5b1c4 Mark some CCG funcrions as inlined
This seems to be giving speedup up to 10% in own tests.

--
svn merge -r60104:60105 ^/branches/soc-2013-depsgraph_mt
2013-10-01 09:17:35 +00:00
Lukas Toenne a4068d39de Fix for own commit r60468: All the localized node groups ended up in the main library ... This was because of the G.main check in ntreeCopyTree_internal, which determines whether a node tree gets put
into main or is an independent data block. This can now be controlled by passing an explicit Main pointer, so we can ensure localized node groups don't pollute main.
2013-10-01 08:55:38 +00:00
Campbell Barton f1f7648d4c fix for error setting vector handles to free when both vector handles were selected but not the mid-point.
only one of the handles would be changed to the HD_FREE.

effected curves and fcurves.
2013-10-01 08:18:43 +00:00
Lukas Toenne 4cd7799364 Fix #36850, Material Node Editor Crash Always.
This problem was introduced with pynodes merge in r55373. It's caused by missing localization of node groups in shaders in cases where GLSL + node previews causes threading conflicts. I'm not quite sure why
we didn't do this before, but now all node groups also get localized recursively.
2013-10-01 08:18:16 +00:00
Campbell Barton 92527b9264 remove assert for poly_find_ear(), added recently but its incorrect, also minor style edits. 2013-10-01 03:56:02 +00:00
Tamito Kajiyama aaba317c76 Follow-up to r60433 (related to Bug #36878): additional checks for NULL line styles. 2013-09-30 23:02:29 +00:00
Bastien Montagne ab31941874 Fix [#36422] Trimmed audio files (hard cut only) in a metastrip have their trim removed
Meta sound update (seq_update_sound_bounds_recursive_rec) was not taking into account hard trim (anim_startofs) when setting sound's start, while default sound strip update (sound_move_scene_sound_defaults) did... This could use some refactor, though, with a single func used in both cases, to avoid such issue.

Also added soft trim to sound panel, only hard one was available.
2013-09-30 20:53:53 +00:00
Campbell Barton 78a8b2a883 add asserts for id property functions (ensure invalid types aren't passed) 2013-09-30 11:27:03 +00:00
Sergey Sharybin 2ddbb5d1e1 Fix for plane track jittering
Jittering was caused by homography not being estimated
accurate enough.

Before this, only algebraic estimation was used, which
is indeed not so much great, Now use algebraic estimation
followed with refinement step using Ceres minimizer.

The code was already there since keyframe selection patch,
made such estimation a generic function in multiview/ and
changed API for estimation in order to pass all additional
options via an options structure (the same way as it's
done fr Ceres).

This includes changes to both homography and fundamental
estimation.

TODO:
- Need to document Ceres functors better.
- Need to support homogeneous coordinates (currently
  only euclidean coords are supported).
2013-09-30 09:35:04 +00:00
Campbell Barton b6ea073af2 more fixes relating to [#36878], freestyle was only checking for NULL linestyles in some places. 2013-09-30 09:28:43 +00:00