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
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
This patch adds an AVX implementation of Perlin noise in Cycles.
An avxi type was also added as a utility based on the respective
type in Intel Embree.
Only 3D and 4D noise were implemented, there is no benefit for
utilizing AVX in 1D and 2D noise. The SSE trilinear interpolation
function was used in the AVX implementation because there is no
benefit from using AVX in interpolating the last three dimensions.
Differential Revision: https://developer.blender.org/D6680
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
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.
Change to recent renaming of "Edge Collapse" as it has multiple uses,
as it collapses edge-rings, but isn't limited to collapsing single edges,
it can be used to collapse faces with arbitrary topology.
The name "Collapse Regions" is too vague, users might not think to use
this to collapse edge-rings.
Use a more verbose name "Collapse Edges & Faces", referencing edge-rings
in the tool-tip.
This is useful for collapsing regions of faces & edges,
similar to a 'Merge -> Collapse' which can operate on multiple regions,
merging UV's so they don't need to be manually corrected.
The name & description didn't mention this.
This implements the Sculpt Mode API functions needed for Face Sets and
visibility management for PBVH_GRIDS. No major changes were needed in
the operators and the sculpt mode code. This implementation stores the
face sets in the base mesh, so faces created in higher subdivision
levels can't be modified individually. Also, we are not checking for
multiple face sets per vertex (that can be added in the future), so
relax tools don't work yet. The rest of the features (paint, undo,
visibility operators..) work as expected.
Reviewed By: brecht
Differential Revision: https://developer.blender.org/D7168