Age | Commit message (Collapse) | Author |
|
This adds the automasking options to the Sculpt Tool options in a way
that they affect all brushes. This is more convenient when working with
some of these options while switching brushes as they don't need to be
enabled/disabled per brush.
An automasking option is enabled if it is enabled in the brush or in the
sculpt options.
Reviewed By: jbakker
Differential Revision: https://developer.blender.org/D7304
|
|
The root cause of the issue reported in T74983 is that an `IDNode` would
not be marked as user-modified. This marking happened while looping over
outgoing relations of one of its operation nodes. Since rBff60dd8b18ed
unused relations are removed, and as a result the `IDNode` would not be
marked.
The solution was to move the responsible code outside the loop; this is
probably a good idea anyway, as the code did not actually use the
looped-over relations at all, and was thus repeated unnecessarily.
|
|
|
|
The variable cannot be names because it was already renamed.
|
|
With this brush option it is possible to mask the boundary vertices of
all face sets. This is especially useful in the cloth brush, where face
sets can be used to simulate seams between different patches of cloth
and produce different patterns and effects.
Reviewed By: jbakker
Differential Revision: https://developer.blender.org/D7230
|
|
Allows to know what level sculpting has been done after the value has
been changed in the MultiresModifierData.
No functional changes, just preparing code to have everything needed
for propagation undo.
Differential Revision: https://developer.blender.org/D7307
|
|
Before this change it was not possible to have base geometry
and grid coordinates to be stored in the same undo step.
Differential Revision: https://developer.blender.org/D7298
|
|
This fixes the following issues:
- Previously, the face set from the active vertex was used directly. Vertices always return the most recently created face set, so in some cases there may be some face sets that were not possible to select as active. Now the active face set is set in the ray intersection, so it always matches the face under the cursor.
- When drawing face sets they were set per vertex, so it was not possible to paint one face at a time. Now face sets are painted per poly when using the brush on meshes, testing the distance to the center of each poly.
- The code for the active vertex on PBVH_GRIDS was not correct, so I also fixed that to test if everything was working correctly.
{F8441699}
Reviewed By: jbakker
Differential Revision: https://developer.blender.org/D7303
|
|
The brush was allocating new memory for storing the displacemnets at the
beginning of each stroke step and not freeing them.
Reviewed By: jbakker
Maniphest Tasks: T75121
Differential Revision: https://developer.blender.org/D7254
|
|
As the main use case of this feature is to work with cloth, using this
curve makes more sense than a smoothstep to simulate cloth tension near
the edges.
Reviewed By: jbakker
Differential Revision: https://developer.blender.org/D7262
|
|
|
|
Due to legacy this overlay was implemented twice (Edit Mesh and Weight
Painting) with different results. This patch consolidates both drawing
and uses only the Weight Painting drawing.
|
|
|
|
Armatures"
This reverts commit 782e6ea4edd9cb09f2583c8f28a24d6330dc6ce8.
Said fix introduced a crash the moment one goes to edit mode.
|
|
Due to legacy this overlay was implemented twice (Edit Mesh and Weight
Painting) with different results. This patch consolidates both drawing
and uses only the Weight Painting drawing.
Reviewed By: Clément Foucault
Differential Revision: https://developer.blender.org/D7289
|
|
Reviewers: sebbas
Differential Revision: https://developer.blender.org/D7256
|
|
Should make it a bit more clear overview of what is going on in this
module. While some of the details might still be missing, having some
sort of top-level overview is better than nothing.
Differential Revision: https://developer.blender.org/D7300
|
|
Made it so grids array is properly allocated when first node in the
undo list does not contain grid data.
Differential Revision: https://developer.blender.org/D7299
|
|
|
|
The selection was workring with the evaluated data, but need work with the original data.
|
|
Reviewers: brecht
Differential Revision: https://developer.blender.org/D7302
|
|
|
|
|
|
|
|
Note: Not clearing the whole runtime data here, as this is not done in
matching read code, not sure why, needs further investigation...
|
|
Note: As with collections, this does not affect embedded nodetrees from
material etc. We prpbably need to tackle those as well at some point...
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
strips
This uses the new "selected_nla_strips" context member in
UI_context_copy_to_selected_list().
bonus: this also makes the "Copy To Selected" button operator [in the
button context menu] work for anything NLA Strip related.
Maniphest Tasks: T66494
Differential Revision: https://developer.blender.org/D7281
|
|
Needed for upcomming fix for T66494.
ref T66494 / D7281
|
|
tile
This happened when the UDIM tiled image needed to be colormanaged, so
- when you set up the image as sRGB, then save as EXR/HDR/...
- other way around as well: when you set up the images as Linear then
save as PNG/JPG/...
Reason being that for UDIM tiled images, `image_save_single` is called
multiple times [once for each tile] and everytime `image_save_post` will
fire the `IMA_SIGNAL_COLORMANAGE` signal which clears the cache if any of
the above two is the case. Without the cache, the next tiles cannot be
saved.
Now determine if the colorspace changed from
`image_save_single`/'image_save_post' and only fire
IMA_SIGNAL_COLORMANAGE once from BKE_image_save in the end.
(thx @brecht for suggesting this alternative to the original fix)
Maniphest Tasks: T75234
Differential Revision: https://developer.blender.org/D7296
|
|
|
|
This basically generalizes what was being done in `write_mesh`,
since we need to clean up ID tags anyway, it's easier to do it for all IDs.
Then ID write funcs themsleves can do whatever they want on the passed
struct, without risking interferring with regular Blender operations.
Note that Text write function is doing a suspicious change on one of its
flags, but this seems to be by-passed anyway by read code currently, so
think it's OK to not do that on orig data-block.
Reviewed By: brecht
Differential Revision: https://developer.blender.org/D7294
|
|
Made it so there is a single UNDO node in the list which has
both original and modified mesh state.
Makes it easier to achieve "interleaved" undo nodes stored in
the undo step (as opposite of either storing geometry or other
data).
Should be no functional changes, just preparing for an upcoming
work to support undo of operation like Apply Base.
Differential Revision: https://developer.blender.org/D7290
|
|
Actually, begin will do the entire initialization.
Refine will only refine if there is a topology refiner associated
with the Subdiv descriptor.
Allows to refine Subdiv to new coarse positions without touching
displacement evaluation. Will be needed to update SubdivCCG during
sculpt undo.
|
|
|
|
Issue introduced in 38685b5a39769
|
|
|