Weight Paint: relax heuristic to determine when final mesh can be used.

Checking for polygon and loop data to be referenced is too fragile
re changes in geometry node implementations. Instead, compare counts
of polygons, face corners and vertices: topology changes are unlikely
to keep all three unchanged.

Ref D15501
This commit is contained in:
Alexander Gavrilov 2022-10-15 22:07:03 +03:00
parent 1111af5cb4
commit 660c47596e
1 changed files with 2 additions and 2 deletions

View File

@ -1786,8 +1786,8 @@ static void sculpt_update_object(
/* If the fully evaluated mesh has the same topology as the deform-only version, use it.
* This matters because crazyspace evaluation is very restrictive and excludes even modifiers
* that simply recompute vertex weights (which can even include Geometry Nodes). */
if (me_eval_deform->polys().data() == me_eval->polys().data() &&
me_eval_deform->loops().data() == me_eval->loops().data() &&
if (me_eval_deform->totpoly == me_eval->totpoly &&
me_eval_deform->totloop == me_eval->totloop &&
me_eval_deform->totvert == me_eval->totvert) {
BKE_sculptsession_free_deformMats(ss);