Commit Graph

73982 Commits

Author SHA1 Message Date
Campbell Barton
43de11f323 Merge branch 'blender-v2.82-release' 2020-01-14 17:06:29 +11:00
Campbell Barton
fffba2b653 Cleanup: move property auto-keyframing to a generic API function
Prepare to call this from gizmos.
2020-01-14 17:05:59 +11:00
Hans Goudey
e34d3e32dd Fix T71200: Build curve geometry in one piece
Currently a curve's beveled geometry is built with duplicate geometry
along the seams between the "front," "back," etc, sections of the
curve. This builds them in one piece, resulting in smooth geometry.

Other than the duplicate geometry, the vertex positions are the same
as before.

Reviewed By: campbellbarton, mano-wii

Differential Revision: https://developer.blender.org/D6562
2020-01-13 12:29:43 -05:00
Hans Goudey
4f7ad0050b Merge branch 'blender-v2.82-release' 2020-01-13 12:15:29 -05:00
Hans Goudey
c56526d8b6 Fix T71329: Bevel: Don't drop offsets to 'in plane' faces
offset_meet creates offset lines that can't be directly intersected, so
the average of the points on each offset line is 'dropped' onto the
faces around the beveled vertex, which can depend on where
the loop starts.

This fix skips faces with the same normals as the "in plane" faces from
build_boundary.

Reviewed By: howardt

Differential Revision: https://developer.blender.org/D6521
2020-01-13 12:12:12 -05:00
mano-wii
389fc62f6c Fix T72094: Multiple snap targets don't work when Increment is enabled
The `poll_modal_item` was too restrictive.
`!validSnap(t)` already solves these cases, but for better readability
(and efficiency), I found it best to keep the `tsnap.mode` test.
2020-01-13 13:47:05 -03:00
Clément Foucault
60c6a74ce1 Fix T72152 DRW_debug_sphere Not Working After Overlay Refactor 2020-01-13 17:40:55 +01:00
Clément Foucault
2359979141 Fix T73044 Crash in UV editor when changing UV selection modes
Thanks to @campbellbarton for the fix.
2020-01-13 17:29:31 +01:00
Clément Foucault
84825e4b50 Fix T72957 Crash using Eye dropper in Edit mode with X-ray 2020-01-13 16:53:40 +01:00
Clément Foucault
b8bdb8e9e9 DRW: Fix stencil being modified by passes that are read only
This is because even if the glStencilMask is 0x00 the GL_DECR_WRAP and
GL_INCR_WRAP states still works and will modify the stencil.

Fix T73046 Overlapping parts of wireframes don't render at all in workench
with shadows turned on.
2020-01-13 16:27:01 +01:00
Clément Foucault
820794e162 Overlay: Edit Mode: Fix vertices depth test not always on 2020-01-13 16:27:01 +01:00
Bastien Montagne
efe119cd39 Merge branch 'blender-v2.82-release' 2020-01-13 15:58:42 +01:00
Jeroen Bakker
162cb74320 Fix T67305: Sculptmode Wireframe Coloring
When in sculptmode the wireframe coloring should always be disabled.
When an object was sculpted but had modifiers this was not detected and
the colors were still shown.

This fix will disable wireframe coloring for any object that is in
sculptmode.
2020-01-13 12:57:37 +01:00
Sergey Sharybin
a60606e467 Fix T73029: Crash transforming object
Was caused by recent animation backup added to depsgraph as a part of
another bugfix.

This commit effectively disables the animation backup, restoring bug
related on handlers, but makes it possible to interact with objects
again.

Will re-iterate over handlers+animated properties.
2020-01-13 12:16:23 +01:00
Sergey Sharybin
830150c7b9 Depsgraph: Guarantee order of backup of action and ID using it
It was possible to have object copy-on-write happening during
action's copy-on-write, which was causing access to a freed
memory from animation backup.

Solves crash reported in T73029.
2020-01-13 12:10:20 +01:00
Sergey Sharybin
3c1115ef7f Depsgraph: Fix wrong access to animated properties
Copy-on-write backuyp was trying to read float from an array property,
which is wrong.

This is part of T73029.
2020-01-13 12:03:01 +01:00
Sergey Sharybin
9d254fa17a Refactor: Make construction of resolved RNA path reusable
It is somewhat different from RNA_path_resolve_property_full(), mainly since it's
properly setting array index from the f-curve.
2020-01-13 12:00:44 +01:00
Jeroen Bakker
44231386e4 Fix T72250: Select Boundary Loop
Edge Index display were not showing up after performing
"Select Boundary Loops" when in face selection mode. The operation
tagged the mesh that the selection was changed, but in the end this
didn't do anything within the depsgraph.

The fix changes this to recalc the geometry of the object. What also
syncs the selectmode flags. A better solution would be to update the
select flags only. But that could be done as future work when we have a
performance problems.
2020-01-13 10:48:43 +01:00
Jeroen Bakker
1b86b3c0f4 Fix T73069: Studiolights
Studiolights that were just created didn't had the
`STUDIOLIGHT_SPECULAR_HIGHLIGHT_PASS` flag. Without this flag the
studiolight the viewport didn't show the specular highlights and it
wasn't possible to switch the highlights on/off in the popover. After
reloading the studio lights this was possible.

This patch will always set the flag for any newly created, or being
edited studiolight, so the workbench render engine is fed with the right
data.
2020-01-13 09:22:00 +01:00
Campbell Barton
ddb958ae99 Cleanup: remove hack that set operator id in the wmEvent
This can be replaced by passing an argument.
2020-01-13 15:00:15 +11:00
Campbell Barton
d5042c4250 Cleanup: remove unused GPU_texture_from_preview function 2020-01-13 14:59:28 +11:00
Luca Rood
f6aac92ab8 Merge branch 'blender-v2.82-release' 2020-01-12 17:27:47 +01:00
Luca Rood
0ef881cc57 Fix T71620: broken particle collisions due to rB0666ece2e2f9
An optimisation in the collision system for cloth (static collisions),
broke the particle collisions, as they take motion into account. This
restores the moving BVH required for the particle collisions, while
keeping the optimisation for the cloth collisions.

Reviewed By: mano-wii

Maniphest Tasks: T71620

Differential Revision: https://developer.blender.org/D6560
2020-01-12 17:23:02 +01:00
Patrick Mours
6915555906 Merge branch 'blender-v2.82-release' 2020-01-10 15:49:01 +01:00
Sybren A. Stüvel
8e66183a98 USD Exporter: clarified export options in the UI
- "Only Export Selected Objects" → "Selection Only", as this is the
  standard used in other exporters.
- "Evaluation Mode" → "Use Settings for", as this is clearer for users
  who aren't as familiar with the technical details of the depsgraph.
- "Use Instancing" → "Instancing", and moved the checkbox to the end of
  the option list into its own box "Experimental". This looks a bit
  cleaner than just plonking "EXPERIMENTAL" in the checkbox label.
2020-01-10 15:43:01 +01:00
Julian Eisel
aacdf55a50 Cleanup: ARegion.sizex/y should not be used to access region size
This should only be used to change and recalculate region sizes in a DPI
independent way. To get the size with DPI applied, ARegion.winx/y should
be used instead.
Added note on this in comment.
2020-01-10 14:28:11 +01:00
Jeroen Bakker
9867106199 Fix T71491: Sculpt Brush Text Color
When text drawing is disabled in the viewport the color of the sculpt
brh is set to the last used one. In th Light theme this is black what
makes it totally not visible.

This change will render the brush text using `TEXT_HI` as this is the
last one set when the text overlay is on.
2020-01-10 12:14:03 +01:00
Sergey Sharybin
befc082736 Fix T71908: Animated properties are lost after frame-post handler
The issue was caused by special handling of animation update after
manual edits in frame_post handler: to avid loss of manual edits
done on top of animated property. This was done as a separate pass
for non-animation update after frame_post did modifications.

This caused some other side-effect: non-modified animated property
was re-setting to the value which is used in the viewport.

Idea of this solution is simple: preserve values which came from
animation update through copy-on-write process. The actual process
of this is a bit involved: need to decode RNA path and do it twice
since f-curve might point to a sub-data which pointer will change.
Since this is only done for non-active depsgraph (aka depsgraph
used for render pipeline) this is probably fine since all this
extra overhead is just a fraction of overall render process.

Differential Revision: https://developer.blender.org/D6330
2020-01-10 11:40:08 +01:00
Nathan Letwory
c3d6929e4f Version cycle 2.83, master is now in alpha and open for new work and features 2020-01-10 11:26:52 +02:00
Nathan Letwory
20ca8fddf8 Merge branch 'blender-v2.82-release' 2020-01-10 11:26:03 +02:00
Nathan Letwory
a72d823489 Version cycle to 2.83 alpha for master. 2020-01-10 11:25:54 +02:00
Campbell Barton
2ef08bd93e Cleanup: group event_query functions in header 2020-01-10 18:08:21 +11:00
Campbell Barton
db3968fd59 Cleanup: name wm_event_modalkeymap_begin/end
Relocate & name functions to make it clear calling begin
should be followed by a call to end.

Also group locking & report functions.
2020-01-10 17:54:35 +11:00
Campbell Barton
1a66b330ac Cleanup: move public event queries into their own file
event_system.c has been collecting a lot of different functionality,
move generic query/access functions into their own file,
since these are used by operators and other parts of the windowing code
and aren't part of low level event handling.

Also move public last-property API to wm_operators.c.
2020-01-10 17:54:30 +11:00
Nathan Letwory
95200045f3 Version 2.82 cycle to beta for bcon3, stabilizing period 2020-01-10 08:10:27 +02:00
Campbell Barton
04c588294d Cleanup: use doxy sections in wm_event_system.c 2020-01-10 16:34:39 +11:00
Campbell Barton
6eb9cc101b Correct last commit, restore the double-click state for modal events 2020-01-10 16:31:25 +11:00
Campbell Barton
0920c1684b Fix T72999: Fast keystrokes ignored for operators with modal keymaps
Logic to convert double-click events into press events wasn't running
in the case an operator had a modal keymap, causing bevel for e.g.
to ignore keys pressed quickly.

Change event handling logic so modal handlers never
receive double click events, so checks for press/release are reliable.

While this is an old issue for mouse events in practice it wasn't
a problem since the first event typically executed/canceled.
Support for keyboard double-click exposed the problem
for all modal operators that take numeric input.
2020-01-10 15:49:35 +11:00
Campbell Barton
62c6038531 Docs: explain logic behind wm_event_modalkeymap 2020-01-10 15:10:13 +11:00
Campbell Barton
7eaed14fae Fix T72948: Smooth active tool gizmo vibrates 2020-01-10 13:08:43 +11:00
Sybren A. Stüvel
7ac8f61dc1 USD Exporter: removed 'Export' from the exporter option labels
Most options were 'Export …', now they are just '…'.
For example, 'Export UV Maps' → 'UV Maps'.
2020-01-09 15:58:02 +01:00
Sybren A. Stüvel
04122c8eb2 USD Exporter: clarification of some comments in the code
No functional changes.
2020-01-09 15:47:08 +01:00
Sybren A. Stüvel
e55ffb28a9 USD Exporter: make it possible to debug-print arbitrary export graphs
This is useful for debugging things like the previous commit.

No functional changes to the actual USD exporter.
2020-01-09 15:47:07 +01:00
Sybren A. Stüvel
9f5f91d6bd USD Exporter: properly export objects whose parents are not exported
The exporter constructs an export hierarchy, and then traverses that
hierarchy from the root to the children. When an object is to be exported,
but its parent is not, it meant that this traversal from (great)parent to
children would skip these objects. This commit fixes that by inserting the
missing parents as 'transform only' into the hierarchy.
2020-01-09 15:47:05 +01:00
Sybren A. Stüvel
cf0f066c2d USD Exporter: removed 'Visible Objects Only' exporter option
The way the USD exporter currently works, it is not possible to export
invisible objects. As such, the 'Visible Objects Only' option was
confusing.

Exporting invisible objects means obtaining invisible evaluated objects
from the depsgraph, which is not something that's currently implemented.
Once that's done, we can reintroduce this option.
2020-01-09 15:46:46 +01:00
Sybren A. Stüvel
d98b38f97a USD Exporter: removed exclusion of 'Holdout' collections
This is in response to @brecht's remark in rBec62413f803e, where he
states that the approach was problematically interpreting the holdout
setting in a different way than what it was designed to do.

If we later want to add back a different "never include this in exports"
criterion, it can be easily done in
`AbstractHierarchyIterator::mark_as_weak_export()`. If such a criterion
should be file-format-specific, it can be done by overriding that
function in the file-format-specific subclass.
2020-01-09 15:46:46 +01:00
mano-wii
744a58918a Fix T72375: Crash when using spin tool
The original geometry referenced in `vtable` was deleted by the
`extrude_face_region` operator.
It is read soon after, so don't delete the original geometry
(param `use_keep_orig`).

This may have a small impact on performance.
2020-01-09 11:15:56 -03:00
Stanislav Blinov
2eafae4e39 Fix T71295: Duplicate macro faulty after rotation
As per T71295, the "duplicate+move" macro fails to store TRANSFORM_OT_translate properties once it's been used with rotation. I believe this is due to it being re-initialized with incorrect properties, reading bogus values from stored TRANSFORM_OT_rotate properties.

Force storing of actual operator id name instead of one defined in the macro, which in turn forces a name mismatch on initialization.

Reviewed By: #modeling, campbellbarton

Maniphest Tasks: T71295

Differential Revision: https://developer.blender.org/D6413
2020-01-09 09:02:17 -03:00
Campbell Barton
f681e9ea49 Fix UV gizmos poll failing with multiple objects
Only the active objects UV selection was checked.
This also avoids checking UV selection for every poll call,
now this is only done on refresh.
2020-01-09 17:50:52 +11:00
Campbell Barton
ce5a5b553d Fix multiple UV gizmos being linked at once
This happened when reloading the file after using different gizmos.
2020-01-09 17:01:05 +11:00