Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKévin Dietrich <kevin.dietrich@mailoo.org>2022-01-21 01:40:42 +0300
committerKévin Dietrich <kevin.dietrich@mailoo.org>2022-01-21 01:40:42 +0300
commit82610dcb7c6cd807d5f1fba88c6cdcb61065915b (patch)
treef9e8341601af84cb04488f3db0ad33ab4b2ac541 /source/blender/modifiers
parent793e0f85c772abde630f82d5848c5b5953b6f760 (diff)
parent19622ffc5b84475a6c3b56ff0595811a503f461c (diff)
Merge branch 'master' into temp-abc-features
Diffstat (limited to 'source/blender/modifiers')
-rw-r--r--source/blender/modifiers/intern/MOD_boolean.cc11
-rw-r--r--source/blender/modifiers/intern/MOD_meshsequencecache.cc8
-rw-r--r--source/blender/modifiers/intern/MOD_subsurf.c3
3 files changed, 13 insertions, 9 deletions
diff --git a/source/blender/modifiers/intern/MOD_boolean.cc b/source/blender/modifiers/intern/MOD_boolean.cc
index f8c181905b5..bb05ae3e1b3 100644
--- a/source/blender/modifiers/intern/MOD_boolean.cc
+++ b/source/blender/modifiers/intern/MOD_boolean.cc
@@ -248,9 +248,14 @@ static BMesh *BMD_mesh_bm_create(
BMeshCreateParams bmesh_create_params{};
BMesh *bm = BM_mesh_create(&allocsize, &bmesh_create_params);
- /* Needed so active layers are set based on `mesh` not `mesh_operand_ob`,
- * otherwise the wrong active render layer is used, see T92384. */
- BM_mesh_copy_init_customdata_from_mesh(bm, mesh, &allocsize);
+ /* Keep `mesh` first, needed so active layers are set based on `mesh` not `mesh_operand_ob`,
+ * otherwise the wrong active render layer is used, see T92384.
+ *
+ * NOTE: while initializing customer data layers the is not essential,
+ * it avoids the overhead of having to re-allocate #BMHeader.data when the 2nd mesh is added
+ * (if it contains additional custom-data layers). */
+ const Mesh *mesh_array[2] = {mesh, mesh_operand_ob};
+ BM_mesh_copy_init_customdata_from_mesh_array(bm, mesh_array, ARRAY_SIZE(mesh_array), &allocsize);
BMeshFromMeshParams bmesh_from_mesh_params{};
bmesh_from_mesh_params.calc_face_normal = true;
diff --git a/source/blender/modifiers/intern/MOD_meshsequencecache.cc b/source/blender/modifiers/intern/MOD_meshsequencecache.cc
index 757d184f9ce..6b8b83e842c 100644
--- a/source/blender/modifiers/intern/MOD_meshsequencecache.cc
+++ b/source/blender/modifiers/intern/MOD_meshsequencecache.cc
@@ -534,12 +534,8 @@ static void panelRegister(ARegionType *region_type)
nullptr,
override_layers_panel_draw,
panel_type);
- modifier_subpanel_register(region_type,
- "velocity_parameters",
- "Velocity Parameters",
- nullptr,
- velocity_panel_draw,
- panel_type);
+ modifier_subpanel_register(
+ region_type, "velocity", "Velocity", nullptr, velocity_panel_draw, panel_type);
modifier_subpanel_register(region_type,
"attribute_remapping",
"Attribute Remapping",
diff --git a/source/blender/modifiers/intern/MOD_subsurf.c b/source/blender/modifiers/intern/MOD_subsurf.c
index 00870d076ef..b77f6b7e3e2 100644
--- a/source/blender/modifiers/intern/MOD_subsurf.c
+++ b/source/blender/modifiers/intern/MOD_subsurf.c
@@ -85,6 +85,9 @@ static void requiredDataMask(Object *UNUSED(ob),
r_cddata_masks->lmask |= CD_MASK_NORMAL;
r_cddata_masks->lmask |= CD_MASK_CUSTOMLOOPNORMAL;
}
+ if (smd->flags & eSubsurfModifierFlag_UseCrease) {
+ r_cddata_masks->vmask |= CD_MASK_CREASE;
+ }
}
static bool dependsOnNormals(ModifierData *md)