Commit Graph

75472 Commits

Author SHA1 Message Date
Clément Foucault
f391362f8c Fix T60190 Z-fighting with (Culled) Backface
Create a separate pass for backface culled objects.
2019-03-20 14:51:06 +01:00
Jacques Lucke
91914320ca Fix T62711: Incorrect motion path update
Reviewers: brecht

Differential Revision: https://developer.blender.org/D4560
2019-03-20 14:21:25 +01:00
Sergey Sharybin
52e344a770 Fix T62770: Changing Constraint.mute does not update pose
Missing dependency graph tag. Is only happening for scripts, since
the interface is handling this from do_constraint_panels().

Fix is suggested by Edmund Kapusniak (@edmundmk), thanks!
2019-03-20 14:19:30 +01:00
William Reynish
de535fdd52 UI: Change name Airbrush back to Accumulate
'Airbrush' didn't make sense for Sculpt mode.
2019-03-20 14:14:06 +01:00
Jeroen Bakker
daa4d4dd25 Fix T62248: Infinite Hotspot Size Crop Node
When the area of the crop node is zero the hotspot margin becomes infinite.
This makes the gizmo by default think the translate mode hotspot is everywhere.

This fix will return a state if the INFINITY is detected so we can
return the hotspot drawing.

The cage2d gizmo is still not usable for sizes of 0 by 0 as now it won't
draw anything. the issues of the gizmo should be re-designed so we can
mitigate these limitations. But that is out of scope for this fix.

Reviewed By: campbellbarton

Maniphest Tasks: T62248

Differential Revision: https://developer.blender.org/D4516
2019-03-20 14:00:18 +01:00
Sybren A. Stüvel
d3ee995eaf Cleanup: return early in BLI_path_frame_get
Instead of making the entire body of the function conditional, it now
returns early, unindenting the entire function and preventing the reader
from searching for a non-existent `else` clause.

No semantic changes.
2019-03-20 13:45:14 +01:00
Sybren A. Stüvel
0333cf00ba Fix BLI_path_frame_strip
The `BLI_path_frame_strip` function was completely broken, unless the
number of digits in the sequence number was the same as the length of
the extension. In other words, it would work fine for `file.0001.abc` (4
digit `0001` and 4 char `.abc`), but other combinations would truncate
to the shortest (`file.001.abc` would become `file.###.ab` and
`file.00001.a` would become `file.##.a`). The dependency between the
sequence number and the file extension is now removed.

The behaviour has changed a little bit in the case where there are no
numbers in the filename. Previously, `path="filename.abc"` would result
in `path="filename.abc"` and `ext=""`, but now it results in
`path="filename"` and `ext=".abc"`. This way `ext` always contains the
extension, and the behaviour is consistent regardless of whether there
were any numbers found.

Furthermore, I've removed the `bool set_frame_char` parameter, because
it was unclear, probably also buggy, and most importantly, never used.

I've also added a unit test for the `BLI_path_frame_strip` function.
2019-03-20 13:42:45 +01:00
Jacques Lucke
1b1b604596 Fix T62678: better glyph clipping test
Reviewers: billreynish, brecht

Differential Revision: https://developer.blender.org/D4550
2019-03-20 13:33:52 +01:00
Jeroen Bakker
d6bf6744fc Fix T60211: MemLeak Convert Curve To Mesh
Ownership flag was not set, but was it was meanted to be. So the set
runtime data to NULL disconnected the Mesh with no ownership.
2019-03-20 13:30:41 +01:00
Campbell Barton
a1addc5c63 UI: support for popups starting with buttons activated
While this could already be done from C,
this is now exposed to Python
2019-03-20 23:10:34 +11:00
Campbell Barton
ef09aff61c Preferences: add threshold for cursor motion
A hard coded threshold was used to ignore cursor motion,
make this a preference since tablet users may want to increase it
since a pen hovering isn't as easy to keep still as a mouse.

Resolves T56278
2019-03-20 22:19:16 +11:00
Sergey Sharybin
454b90483d Fix missing refresh when subdividing hair strand
This is a part of T62730.i
2019-03-20 12:03:15 +01:00
Sergey Sharybin
1d5c85ffd9 Fix T62750: Deleted Keyframe Still Affects Scene
Missing ID recalc tag.
2019-03-20 11:49:07 +01:00
Dalai Felinto
0c44b7e177 Fix T61670: Copy -> Paste - Pasted elements are not selected
The first part of this patch is just a way to improve performance a bit
by not calling BKE_scene_object_base_flag_sync_from_base() twice.

The second is the proper fix for the reported issue.

That said, the report can be re-opened since there is still discussion
about whether or not to bring the collections with the objects.

Reviewers: mont29

Subscribers: brecht, campbellbarton

Differential Revision: https://developer.blender.org/D4558
2019-03-20 07:45:24 -03:00
Bastien Montagne
21cd575e88 Fix (unreported) Copy/Paste: orig object being instantiated in active collection on pasting.
When copy/pasting an object in same .blend file, orig object would be
instantiated into the active collection when pasting, along with the
content of the paste. Was missing a clear of LIB_TAG_DOIT on objects...

Found while investigating T61670.
2019-03-20 10:30:50 +01:00
Campbell Barton
9138c761e4 Cleanup: un-indent NDOF operator body
This was needed for C89 compatibility,
avoid having most of the operator logic in an else block.
2019-03-20 18:42:10 +11:00
Campbell Barton
7c2ac7950a Cleanup: Use doxy groups for NDOF operators 2019-03-20 18:41:46 +11:00
Campbell Barton
4fa904e91c Cleanup: use lowercase for dimensions in function names
Most API's already use this convention.
2019-03-20 18:25:27 +11:00
Campbell Barton
db5a82302c Error in last commit 2019-03-20 18:13:11 +11:00
Campbell Barton
18b98fdd6f Fix T62682: Inconsistent NDOF camera auto-key
Some view operations auto-keyed when locking the camera to view
but some NDOF operators didn't yet support it.

Auto key during animation playback for recording camera motion.
2019-03-20 18:09:28 +11:00
Campbell Barton
f889050aea Fix T62757: Mirror operator fails for non-modal execution
Unlike most transform operators that use an orientation and values,
Mirror uses the constraint axes to define which axes are mirrored.

Now constraint axes are shown in this case.

Other changes:

- Use 'EXEC_DEFAULT' for mirror menu items.
- Show mirror on local axis when not in edit-mode since this is useful
  in object mode too.
- Remove mirror vertex groups since this is in the vertex group menu and
  this menu isn't currently used for general symmetry operators which
  are currently in other menus.
2019-03-20 16:50:48 +11:00
Campbell Barton
dc800154b6 3D View: snap cursor to world origin now resets rotation 2019-03-20 15:45:10 +11:00
Philipp Oeser
fe7c7d2820 Fix T62736: Inconsistent behavior bpy.utils.user_resource()
If a subfolder was specified which didn't exist, logic would fallback
to get_path_user (instead of get_path_environment).

Now always use the from the environment variable if it's set and exists.
2019-03-20 15:38:23 +11:00
Campbell Barton
4e2aea5efe DRW: minor optimization for edit-mesh conversion
Finding visible connected elements is often a direct lookup
when they're not connected to hidden geometry.

Add inline wrappers that avoid a function call,
gives minor speedup creating GPU edit-mesh data.
2019-03-20 15:05:25 +11:00
Campbell Barton
47ba487e05 UI: center floating popovers
Tweak placement so useful items are more likely to be nearby,
centering horizontally and align vertically to the first button.
2019-03-20 12:34:22 +11:00
Clément Foucault
603a37fa89 Fix T59719 Bake Indirect Lighting doesn't update env map reflection 2019-03-19 23:55:26 +01:00
Dalai Felinto
540f50a4da Unify "Hide Selected / Reveal Hidden" operator names
All edit mode related operators are now "Hide Selected / Reveal Hidden".
Before we had different variatons of them:

Hide Selection:
* MESH_OT_hide
* GPENCIL_OT_selection_opacity_toggle

Hide Selected Bones:
* ARMATURE_OT_hide

Hide:
* MBALL_OT_hide_metaelems

Hide Selected:
* CURVE_OT_hide
* PARTICLE_OT_hide
* POSE_OT_hide
* UV_OT_hide

Reveal Bones:
* ARMATURE_OT_reveal

Reveal:
* MBALL_OT_reveal_metaelems

Operators not renamed:
* Hide Curves (GRAPH_OT_hide)
* Hide (OUTLINER_OT_hide)

Note we can do a step further and mass rename them to match their UI
names. Where Reveal Hidden is Show Hidden. But for now at least they are
all unified.
2019-03-19 17:26:09 -03:00
Dalai Felinto
7cf1b81b3c Fix T62735: hiding curves doesnt hide in viewport
Copying what we do for mesh objects.
2019-03-19 17:26:09 -03:00
Brecht Van Lommel
21f3c95f22 Fix T62749: random mesh selection crashes.
This was an off-by-one error in the initialization of tbuf, but refactored the
code a bit more to be less obscure.
2019-03-19 20:04:46 +01:00
William Reynish
83fc8342d8 UI: Re-organize Brush Properties
- Consolidate each brush section (Color, Palette, Gradient) and make them distinct
 - Remove the lock icons and move these items into an Options sub-panel, together with other toggles
  - They now have more descriptive names
  - Use an enum for view vs scene brush unit
 - Use Property Split layout and sub-panels in line with the rest of 2.8
 - Rename Curve panel to Falloff

Reviewed by: campbellbarton, pablovazquez

Maniphest Tasks: D4529

Differential Revision: https://developer.blender.org/D4529
2019-03-19 18:17:50 +01:00
William Reynish
c590e80466 Units: Use PROP_PIXEL for grad_spacing 2019-03-19 18:10:00 +01:00
Campbell Barton
3b04a867b9 Cleanup: correct comment 2019-03-20 03:14:50 +11:00
Campbell Barton
5739506104 UI: scale cursor motion threshold by DPI
This was using hard coded values of 2-3px.

Move both drag and motion thresholds to defines.
2019-03-20 02:52:55 +11:00
Clément Foucault
bd80393995 Fix T60684 Fourth and subsequent vertex color / UV layers displayed black 2019-03-19 16:25:59 +01:00
Campbell Barton
899fc0331c BLI_kdtree: use 1d tree for select similar 2019-03-20 02:06:07 +11:00
Campbell Barton
7a937436ab BLI_kdtree: add 1d kdtree support
Some users only use the tree to store a single value.
2019-03-20 02:06:07 +11:00
Antonioya
08fe29e52f Fix T62715: Grease Pencil Apply Armature Modifier Issue
@sergey wrote: "The reason it was failing is because md points to an original armature, which doesn't have runtime data needed for deformation. That data is to come from evaluated armature."

Thanks to @sergey for his help.
2019-03-19 16:04:03 +01:00
Sergey Sharybin
85685c7bdc Fix T62622: Animating vertex does not update viewport
Missing dependency graph update due to wrong relation.
2019-03-19 16:00:58 +01:00
Jeroen Bakker
e226460dd3 Workbench: World Clipping For Specular Transparent
When Specular Transparent materials are used the world clipping
did not work on the transparent materials. The reason was that the
accum shaders did not vary on the existance of the clipping planes

This patch will variate the accum shaders when clipping planes are
active.

Reviewed By: fclem

Maniphest Tasks: T61023
2019-03-19 15:43:49 +01:00
Campbell Barton
1cb325fc22 Cleanup: name 3D/4D trees in similar selection code
Do this so trees have matching & logical names.
2019-03-20 01:16:04 +11:00
Campbell Barton
e7b4bbd294 UV: Use BLI_kdtree_2d for 2D data 2019-03-20 01:07:28 +11:00
Campbell Barton
d1b9b838be BLI_kdtree: add 2D kdtree support
Some users of the 3D versions were storing 2D data in it.

Using a 3D tree for 2D data adds a spatially redundant branch
every 3rd level, as well as some extra memory use, best avoid this.
2019-03-20 01:07:07 +11:00
Jeroen Bakker
84fe4cdcb3 Workbench: Support Odd Number Of AA Samples
Workbench render engine did not work when an odd number of AA samples
were used. A user could enter these values by disabling AA or set the
number of AA samples in the Render/Film panel to an odd number.

This commit will not perform TAA passes when AA is disabled.
For supporting the setting of 5 or 11 samples the bitmask was replaced
by an if statement as this was making the odd number not render
correctly.

As extra introduce the jitter samples of 5 and 11 so the images will
be more clean. a jitter sample of 11 used to read outside the allocated
space of the jitter samples.

Fix T60820

Reviewed By: fclem

Maniphest Tasks: T60820

Differential Revision: https://developer.blender.org/D4546
2019-03-19 14:57:55 +01:00
Campbell Barton
109cbdf2e1 Cleanup: use BLI_kdtree_3d prefix
Use prefix now there isn't only the 3d version.
2019-03-20 00:48:51 +11:00
Bastien Montagne
e8777a7290 Fix T62732: Bpy/Python is letting create inputs at the node level for node groups that make blend file unsaveable.
Group nodes should not allow to add IO sockets to themselves directly,
in that case we actually want to add IO sockets to their underlying
node tree. Fairly straioght forward to support actually.
2019-03-19 14:45:05 +01:00
Campbell Barton
3b9b324bf6 Fix T62595: Select co-planar faces fails 2019-03-20 00:34:40 +11:00
Campbell Barton
0719d5fa0c BLI_kdtree: refactor to support different numbers of dimensions
This moves logic into kdtree_impl.h which is included in a source
file that defines the number of dimensions - so we can easily support
different numbers of dimensions as needed
(currently 3D and 4D are supported).

Macro use isn't so nice but avoids a lot of duplicate code.
2019-03-20 00:30:45 +11:00
Clément Foucault
e72dc667c4 Fix T61475 Particle edit does not render children if path step > 7
Gives 2 more bits to the segment count. Also subtract 1 because segment
count cannot be negative.
2019-03-19 14:26:30 +01:00
Campbell Barton
58e27cca97 GPencil: Include gpencil objects in BKE_object_minmax
Also remove redundant check for meshes.
2019-03-20 00:12:16 +11:00
Campbell Barton
8a125e3b55 Cleanup: remove unused for gpencil bounds calculation 2019-03-19 23:55:04 +11:00