When a node was partially/fully hidden, this was causing the mask flags
to update incorrectly because it was not checking all vertices, so they
were assigned the fully_masked state and not updating in the transform
tool and mesh filter.
Reviewed By: jbakker
Maniphest Tasks: T73094
Differential Revision: https://developer.blender.org/D6573
The PBVH usually is rebuild after a topology change, so it does not make
sense to keep the previous dynamic mesh preview vertex list. This may
cause a crash is the number of vertices of the new mesh (and preview) is
larger previous one. Now the list is deleted with the PBVH and a new one
will be generated using the new mesh when the cursor is updated.
Reviewed By: jbakker
Maniphest Tasks: T71712
Differential Revision: https://developer.blender.org/D6476
Simply loading factory settings and dragging an area separator
immediately after would cause an assert because of these invalid sizes.
Seems that since rB07499c04f612 we correctly initialize DPI related
UserPref values with 0, which caused DPI dependant initialization of
global areas to set ScrArea.global.size_min/max to 0 too.
The `do_versions_after_linking_280()` function was missing a placeholder
for the newly added versioning code. I copied the comments from the
`blo_do_versions_280()` function.
No functional changes.
During development of Blender 2.80 the `Object.hide` property was removed,
and later reintroduced in rB5e968a996a53 as `Object.hide_viewport`. Of
course there are some technical details missing in this summary, but this
is the view that's given in the 2.80 release notes.
FCurves on `Object.hide` weren't updated in versioning code, resulting in
the property no longer being animated. This commit corrects the RNA path
of such FCurves.
This might be useful in some places. Much of the code makes the implicit
assumption that the rectangle has valid coordinate order, good to make
it more explicit.
When splitting a Quad View by dragging a corner an quad area can become
negative size because of a one pixel offset to calculate the start of
the area.
This patch solves this to make sure that there are no negative areas. By
adapting the `ARegion.winrct`.
Reviewed By: Severin
Differential Revision: https://developer.blender.org/D6579
The original code had 0 as a magic number in the test whether the weight
belongs to a locked group, instead of comparing it to the actual group
number.
Thanks @mano-wii for providing the diff.
The Viewport Render Keyframes operator didn't include keyframes from
grease pencil animation or from mesh shape key animation (see T72861).
To find all related datablocks that could be considered as part of the
selected object, `BKE_library_foreach_ID_link(..., IDWALK_RECURSE)` is
used. To prevent relations like constraint targets from being visited,
the recursion is stopped when it finds a different object.
Reviewed By: mont29
Differential Revision: https://developer.blender.org/D6558
Never treat one of those horrorible 'IDs that are not real IDs' as
regular ID, and expect ID management code to do so. Unless there is a
very good reason, one should never explicitely pass those fake IDs to ID
management code directly.
In that specific case, user count is sort of 'disabled' in libquery
code, because master collections are not in bmain (`LIB_TAG_NO_MAIN`).
When sculpting and doing a image render the workbench used the sculpt
batch what is created by a different GPU context and would not show up.
In debug builds an assert for this case is checked. I rechecked all
`use_sculpt_pbvh` that it also checked if it was rendering. Only the
workbench deferred didn't do this for the default render mode.
With this change the user can render a workbench render directly from
sculpt mode.
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
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
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.
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.