Merge branch 'blender-v4.2-release'

This commit is contained in:
Campbell Barton
2024-06-26 10:27:55 +10:00

View File

@@ -902,24 +902,16 @@ static int init_op_exec(bContext *C, wmOperator *op)
"material_index", bke::AttrDomain::Face, 0);
const VArraySpan<bool> hide_poly = *attributes.lookup<bool>(".hide_poly",
bke::AttrDomain::Face);
const Set<int> hidden_face_sets = gather_hidden_face_sets(hide_poly, face_sets.span);
int prev_material = material_indices[0];
int material_face_set = 1;
for (const int i : IndexRange(mesh->faces_num)) {
if (!hide_poly.is_empty() && hide_poly[i]) {
continue;
}
if (prev_material != material_indices[i]) {
material_face_set += 1;
}
while (hidden_face_sets.contains(material_face_set)) {
material_face_set += 1;
}
face_sets.span[i] = material_face_set;
prev_material = material_indices[i];
/* In some cases material face set index could be same as hidden face set index
* A more robust implementation is needed to avoid this */
face_sets.span[i] = material_indices[i] + 1;
}
face_sets.finish();
break;
}