The `in int flag;` in `gpu_shader_2D_edituvs_faces_vert.glsl`
don't have the values `FACE_UV_ACTIVE` and `FACE_UV_SELECT`.
Add face flags then.
Original patch is from @EitanSomething
Differential revision: https://developer.blender.org/D6520
This file had become disorganized, it wasn't clear which structs/flags
were deprecated.
- Add comments explaining what each struct is for.
- Use doxy sections.
- Remove outdated notes, unused flags.
- Group custom-data.
- Group deprecated structs in their own section.
T
This brush should be added to the set of brushes where we know which
vertices are going to be affected by the brush when starting the stroke.
This way we can limit the automasking only to those vertices instead of
flood filling the whole mesh from the active vertex.
All brushes that are not in this set will automask by flood filling the
mesh when starting the stroke. To improve this and make it work as most
users expect, we need a fast way to calculate topological distances on
high poly meshes.
Reviewed By: jbakker
Maniphest Tasks: T72251
Differential Revision: https://developer.blender.org/D6376
Before this it was possible to use the operator with Dyntopo sample mode
with a PBVH type GRIDS or FACES, causing a crash. Now we check first if
the PBVH type is correct before calling the sampling function.
We also check if the PBVH exists, which may also cause a crash.
Reviewed By: jbakker
Maniphest Tasks: T72647
Differential Revision: https://developer.blender.org/D6475
This was causing a crash when the mesh does not have the mask data
initialized. I also added the same check to mask extract as it works the
same way.
Reviewed By: jbakker
Maniphest Tasks: T72830
Differential Revision: https://developer.blender.org/D6513
This commits introduces the pose_ik_segments brush property in the Pose Brush. When increasing the IK segments count, the brush generates more segments and weights associations following the topology of the mesh. When moving the brush, these segments are transformed using an IK solver and they are used to deform the mesh.
When pressing Ctrl, the brush controls the segments' roll rotation instead of using the IK solver. The brush falloff controls how much rotation is propagated from the first to the last segment in the chain.
Reviewed By: jbakker
Differential Revision: https://developer.blender.org/D6389
working properly
'outliner_extract_children_from_subtree()' (introduced in
rB40a1c671655c) was extracting the children of non-matching parents
regardless of their own matching state.
Now properly filter the subtree prior to extracting.
Maniphest Tasks: T69246
Differential Revision: https://developer.blender.org/D6517
If pre-deselecting takes place, then flushing was not happening
('changed' never became true because no new faces were being selected).
This rectifies the logic. (also removed redundant double initialization
to false)
Maniphest Tasks: T72499
Differential Revision: https://developer.blender.org/D6459
Remove this pointer since it's linking Mesh data back to the object,
where a single edit-mesh may have multiple object users,
causing incorrect assumptions in the code.
Resolves dangling pointer part of the T72667 crash,
although there are other issues which still need to be fixed.
In EDBM_op_finish and EDBM_update_generic,
full Main lookups have been added which should be replaced with mesh
argument or the update tagging moved elsewhere.
Note that this is a bit clumsy having both edit-mesh and mesh,
BKE_editmesh_ensure_autosmooth & BKE_editmesh_lnorspace_update
are often called together, these could be made into a single functions.
The pointer is causing issues since two objects can share an edit-mesh,
removing in stages, see T72848.
Also fixes the material index being clamped by every object.
This was caused by a missing call to BKE_mesh_flush_hidden_from_verts()
when a SCULP_UNDO_HIDDEN undo step is processed.
Reviewed By: jbakker
Maniphest Tasks: T72700
Differential Revision: https://developer.blender.org/D6488
Users reported that Whiskey lake has the same issue as other intel
platforms where an extra glFlush is needed. This change will
add Whiskey Lake to that exception.
Patch provided by Philip Luk
There were two reasons the USD Exporter was listed as experimental:
- Originally there was no deduplication of mesh normals & UV coordinates
(resolved in rBf5e00f735106b5ec635806a4c795a2bc46ae8369), and
- the way materials were exported was incompatible with instancing with
USD 19.07. This seems to be resolved with the current version of USD
(19.11).
Blender (more specifically, `makesdna`) doesn't seem to like empty DNA
structs, so I couldn't remove all properties from
`UserDef_Experimental`. Instead I have just kept `char _pad0[8]`.
Reviewed by: campbellbarton
Differential Revision: https://developer.blender.org/D6519
For some reason socket flag and actual presence of link got out of sync.
Check for link to be present prior to access it.
Fixes crash opening file from T48684.
Was only using first ID instead of all of them.
Might have been causing issues when updating motion paths of
multiple objects.
Spotted by Jack C, thanks!
Nice reversed-logic mistake in rB693721cc7e7d.
How this could remain unnoticed for almost one year is fairly
mysterious, this should have basically broke all node tree copying,
would expect such bug to get reported within days, weeks at most...
Probably because that function is not that much used in current code.
Nice reminder also that those bloody nodetrees still need a lot of
cleanup/refactor/simplification when it comes to ID management code.
Reported/fixed as part of D6484, but this really needs its own commit.
In the Auto Merge & Split feature, multithreading was only used to
find duplicates between vertex and another vertex.
But with this patch, multithreading is now used to find intersections
etween edge and edge and between edge and vertex.
In my tests I noticed a performance improvement of around 180%
(0.017151 secs to 0.009373 secs)
Differential Revision: https://developer.blender.org/D6528