Commit Graph

65368 Commits

Author SHA1 Message Date
Bastien Montagne
4e36ebf593 Optimize meta-ball basis check.
`BKE_mball_is_basis_for()` was processing whole name, when we can
actually rule out most of cases by just checking third char of the ID
names first, which is much, much cheaper.

Even though MBalls are not much used nowadays, that's a nice
optimization when this is called over a whole Main database full of
meta-balls objects...
2018-10-21 17:17:34 +02:00
William Reynish
96fef7db5a Icons: update geometry icons
- Tweaked icons for Box Select, Circle Select & Lasso Select.
- Tweaked icons for Rip Region & Rip Edge.
- Added icons for Bone Envelope, Bone Size, Pose Breakdown,
  Pose Push & Pose Relax.
- Added icons for curve Extrude, Extrude Cursor.

Also removed grease pencil mirror tool which wasn't an active tool,
and is now consistent with regular Edit Mode.
2018-10-21 16:23:15 +11:00
Campbell Barton
1f67db75f1 Cleanup: style 2018-10-21 16:23:15 +11:00
Campbell Barton
769b979abb Cleanup: trailing space 2018-10-21 16:23:15 +11:00
Campbell Barton
34f2ed7f71 Cleanup: compiler warnings 2018-10-21 16:23:15 +11:00
Antonioya
8c9f8d6cbb GP: Fix duplication when draw strokes in multiple windows
The stroke must be visible only in the current region and only visible when the stroke is completed.
2018-10-20 19:40:29 +02:00
Antonioya
541d07045b GP: Redesign drawing cache to support particles
Full redesign of the cache system used for drawing strokes and handle derived frame data.

Before, the cache was saved in bGPdata and a hash was used to manage several objects with the same datablock.

Old design made the use of particles very inefficient and prone to bugs and segment faults, and especially when this was mixed with onion skinning and multiple objects using same datablock. Also, there were some conflicts with the depsgrah logic (the old design was done before despgraph was in place) that made the use of hash not working.

The new design saves the data in the object runtime struct and avoid the use of any hash to find the right data. This improves the speed and reduce a lot the complexity of the code, memory allocation, hash overload and adds full support for particles and reused datablocks.

The particles can reuse the modifiers and shader effects of the original grease pencil object.
2018-10-20 09:08:34 +02:00
Joshua Leung
b634bf9fb6 Fix typo 2018-10-20 15:30:21 +13:00
Joshua Leung
37ffd95594 Fix: Drivers popover not showing
This was broken since cca87ccc75

The problem was that as this popover was defined in the C-code
for the Graph Editor, the relevant panel never got added to the
WM_paneltype registry, since only Python defined panels get
WM_paneltype_add() called when they are defined.

Since the majority of panels defined for regions are only used there,
a more localised fix was applied here by only adding the driver popover
to the global list manually.
2018-10-20 15:30:21 +13:00
Dalai Felinto
3c61efcf20 Multi-Objects: pose slide operators
* POSE_OT_breakdown
* POSE_OT_relax
* POSE_OT_push
* POSE_OT_propagate

Note: I could not test relax because of T57313.

Note 2: I believe those are the last armature related operators to be
ported - \o/
2018-10-19 21:20:24 -03:00
mano-wii
8e3a680ebe Fix Eevee Reflection CubeMap and Irradiance Volume on some Intel gpus
When you pass a struct as a parameter to a function, the qualifier "layout(column_major)" is lost.
2018-10-19 18:23:26 -03:00
Dalai Felinto
f10bc11061 Remove defunct NLA_OT_bake
It's been 9 years too long.
And don't get this one confused with nla.bake (why would you even?).

The·BakeAction operator will be renamed to NLA_TO_bake next.
2018-10-19 16:14:42 -03:00
Dalai Felinto
caad2d7528 Multi-Objects: POSE_OT_select_grouped > POSE_SEL_SAME_KEYINGSET 3/3
Note for posterity, I couldn't figure out a way to test this mode
properly. That said, it should be working with multiple-poses now.
2018-10-19 15:45:34 -03:00
Dalai Felinto
ed34e57796 Multi-Objects: POSE_OT_select_grouped > POSE_SEL_SAME_LAYER 2/3 2018-10-19 15:45:34 -03:00
Dalai Felinto
b8a792ddd2 Multi-Objects: POSE_OT_select_grouped > POSE_SEL_SAME_GROUP 1/3
And disable the other options for now.
2018-10-19 15:45:34 -03:00
Dalai Felinto
7cc799d03d Cleanup: CTX_DATA_BEGIN_FOR_ID no longer needed 2018-10-19 15:45:34 -03:00
Bastien Montagne
fbf4c11960 Make Static Override optional/hidden by default.
That feature will not be ready (or at least, not tested enough) to be
officially part of 2.80 beta. So we disable it by default, hidding it
behind a startup option (`--enable-static-override`), and a python
app var (`bpy.app.use_static_override`).

That way, people who really want to play with it can do it easily, while
not exposing/enabling non-production-ready feature by default.

Note that underlying override code remains active, i.e. files we do have
overridden data-blocks will be loaded correctly according to static override.
2018-10-19 18:38:19 +02:00
Clément Foucault
e6fe207a52 Eevee: LightProbes: Fix negative padding 2018-10-19 18:13:22 +02:00
Clément Foucault
905921d2b5 Fix function using same local variable name as output variable
This may fix issues with certain compiler.
2018-10-19 18:13:22 +02:00
Alexander Gavrilov
eaa527f694 Dope Sheet: remove many hard-coded color and alpha constants.
Add the necessary colors and/or alpha components to the theme instead.
Also switch the background for ordinary channels to use the likely
intended theme option, instead of the window background color.

The general rule is that the channel color is drawn full strength in the
channel list on the left, and with alpha in the actual key frame area on
the right. This alpha is also reused with bone group colors.

Reviewers: brecht, billreynish

Differential Revision: https://developer.blender.org/D3813
2018-10-19 18:30:24 +03:00
Charlie Jolly
891078b3bc UI: reorder and group blend modes in menus, similar to other apps.
Differential Revision: https://developer.blender.org/D3815
2018-10-19 17:21:01 +02:00
Brecht Van Lommel
b2d495c2de UI: move reports / job back to status bar, but make it more visible with color. 2018-10-19 17:19:03 +02:00
Ray Molenkamp
be52fd0d0f Merge remote-tracking branch 'origin/master' into blender2.8 2018-10-19 09:16:26 -06:00
mano-wii
cdef1e911b Fix shadows of sun type lights on some Intel gpus
When you pass a struct as a parameter to a function, the qualifier "layout(column_major)" is lost.
2018-10-19 11:12:30 -03:00
Brecht Van Lommel
fbfa3999e1 Fix T57284: poor result UV unwrapping concave n-gon. 2018-10-19 15:32:01 +02:00
Dalai Felinto
374a8b9da5 Multi-Objects: Implement/Fix POSE_OT_select_constraint_target
This operator had an initial multi-objects implementation.
However it would not select target bones across different selected objects.
2018-10-19 09:42:43 -03:00
Jacques Lucke
c17f2c2eb6 Outliner: Open empty collection when something is dragged into it
Reviewers: brecht

Differential Revision: https://developer.blender.org/D3814
2018-10-19 14:30:39 +02:00
Dalai Felinto
bdd02cc082 UV_OT_unwrap: Error messages
Make sure a message is not reported multiple times when working with
multi-objects. Like in 2.7x we may have two infos coming from the same operator.

In 2.7 we could report non-uniform xor non-scaled, and subsurface.
Now we can report each one of those errors separately.
2018-10-19 09:14:01 -03:00
Dalai Felinto
15d5cd961c Fix multiple-object uv selection not "deselecting" other objects 2018-10-19 08:49:55 -03:00
Dalai Felinto
d01e0d1ef1 CTX_DATA_BEGIN for active object only (..._from_active_object)
For now only `selected_pose_bones_from_active_object`, more options can
be added on demand.

Discussed this with Campbell Barton. We may need this only for selected
pose bones, time will tell.
2018-10-19 08:31:58 -03:00
Campbell Barton
51b2d06613 Versioning: name screens by their workspaces
Avoids all screens in the startup file being named 'Default.###'.
2018-10-19 20:29:15 +11:00
Campbell Barton
16882ca535 Image Space: make 'UV Edit' a separate mode
This is needed for splitting UV into its own editor, see: T54744
2018-10-19 20:15:18 +11:00
Jacques Lucke
3c30d3bcbd Outliner: only drag element under mouse if it was not selected before
Reviewers: brecht

Differential Revision: https://developer.blender.org/D3811
2018-10-19 10:59:53 +02:00
Jacques Lucke
c92f125e75 Partial Revert: bring back some comments 2018-10-19 10:51:33 +02:00
Campbell Barton
56fd821e97 RNA: add widget property access 2018-10-19 19:33:29 +11:00
Campbell Barton
30b1e37e94 Fix T57295: Edit-mesh modes got out of sync 2018-10-19 15:48:39 +11:00
Campbell Barton
9b5183769b Cleanup: compiler warnings 2018-10-19 14:51:55 +11:00
Campbell Barton
c41fb5fac2 Fix UI message-bus automatic subscription 2018-10-19 14:46:24 +11:00
Campbell Barton
6add652c38 Fix T57294: Modifiers cage ignore face visibility 2018-10-19 13:57:00 +11:00
Campbell Barton
60d7740fe6 Tool System: option for transform drag action
See: T57203
2018-10-19 11:54:26 +11:00
Campbell Barton
a30c9f710a Partial revert '#if 0' cleanup
Partially revert 41216d5ad4

Some of this code had comments to be left as is for readability,
or comment the code should be kept.
Other functions were only for debugging.
2018-10-19 09:18:22 +11:00
Clément Foucault
642b77e874 Edit Mesh: Decrease the depth bias on vertices 2018-10-18 20:42:32 +02:00
Brecht Van Lommel
de3f9303eb Fix Copy Selection to Buffer breaking library paths.
This is a bug experienced by animators in the Blender Studio that developers
have been trying to fix for a /long/ time.

What happens is that partial file writing extracts the needed datablocks from
the main list of datablocks into a smaller one. Afterwards they are added back
to the main list, but in some cases not exactly in the same order.

There is file path remapping code that depends on the datablocks being in
exactly the same order as before, and when this was not the case filepaths
would get swapped between datablocks

The reason datablocks are not restored in the same order is because the sorting
of datablocks by name is a) case insensitive and b) undefined if there are
multiple datablocks with the same name from different libraries. This should
be made well defined, but the fix in this commit is simpler.

The way animators ran into this bug is that they use the Copy Attributes addon
a lot, which has as the first item in the menu Copy Selection to Buffer. In
some cases this would be clicked accidentally when menu is near the edge of the
window, breaking the library paths which would only be noticed a much later on
file save and reload.

The way this bug was finally tracked down is that it was suspected that the
undo system was the cause, and so Bastien added library validation for undo.
When Hjalti then did undo and noticed the error, he remembered accidentally
clicking Copy Selection to Buffer just before, and we could finally reproduce
the bug.
2018-10-18 20:21:36 +02:00
Brecht Van Lommel
9d318da4a7 Merge branch 'master' into blender2.8 2018-10-18 20:11:14 +02:00
Brecht Van Lommel
1d05f0dc22 Fix Copy Objects to Buffer breaking library paths.
This is a bug experienced by animators in the Blender Studio that developers
have been trying to fix for a /long/ time.

What happens is that partial file writing extracts the needed datablocks from
the main list of datablocks into a smaller one. Afterwards they are added back
to the main list, but in some cases not exactly in the same order.

There is file path remapping code that depends on the datablocks being in
exactly the same order as before, and when this was not the case filepaths
would get swapped between datablocks

The reason datablocks are not restored in the same order is because the sorting
of datablocks by name is a) case insensitive and b) undefined if there are
multiple datablocks with the same name from different libraries. This should
be made well defined, but the fix in this commit is simpler.

The way animators ran into this bug is that they use the Copy Attributes addon
a lot, which has as the first item in the menu Copy Selection to Buffer. In
some cases this would be clicked accidentally when menu is near the edge of the
window, breaking the library paths which would only be noticed a much later on
file save and reload.

The way this bug was finally tracked down is that it was suspected that the
undo system was the cause, and so Bastien added library validation for undo.
When Hjalti then did undo and noticed the error, he remembered accidentally
clicking Copy Selection to Buffer just before, and we could finally reproduce
the bug.
2018-10-18 20:10:15 +02:00
Dalai Felinto
ec305ea91f Fix assert/crash when copying RGBA color into RGB
For example, copy from viewport display color into brush color.
2018-10-18 16:14:40 +00:00
Jacques Lucke
ce0a468408 Outliner: drop into master collection when below everything else
Reviewers: brecht

Differential Revision: https://developer.blender.org/D3810
2018-10-18 15:45:48 +02:00
Jacques Lucke
41216d5ad4 Cleanup: Remove more #if 0 blocks
Continuation of https://developer.blender.org/D3802

Reviewers: brecht

Differential Revision: https://developer.blender.org/D3808
2018-10-18 15:43:06 +02:00
Brecht Van Lommel
cfdd902d2d Fix debug build after recent changes. 2018-10-18 15:32:54 +02:00
Clément Foucault
3e6b34dede Eevee: Fix default texture coord for procedural texture in world tree 2018-10-18 15:30:16 +02:00