Fix T70378: Grease pencil armature modifier not normalizing weights as expected.

The function armature_vert_task had a special case for Vertex Paints in Grease Pencil data. This patch
removes this special case. Not sure why it was needed in the first place.

Reviewed By: antoniov

Maniphest Tasks: T70378

Differential Revision: https://developer.blender.org/D6348
This commit is contained in:
Jean First 2019-12-03 15:53:22 +01:00 committed by Antonio Vazquez
parent dcded19507
commit b81939716d
Notes: blender-bot 2023-02-14 07:45:38 +01:00
Referenced by issue #72151, Rendering crashes cycles on a specific tile with segfault
Referenced by issue #72098, Crash on startup with 2.82 and Intel HD + Windows
Referenced by issue #70378, Grease pencil armature modifier not normalizing weights as expected.
1 changed files with 0 additions and 13 deletions

View File

@ -1561,7 +1561,6 @@ static void armature_vert_task(void *__restrict userdata,
MDeformWeight *dw = dvert->dw;
int deformed = 0;
unsigned int j;
float acum_weight = 0;
for (j = dvert->totweight; j != 0; j--, dw++) {
const int index = dw->def_nr;
if (index >= 0 && index < data->defbase_tot && (pchan = data->defnrToPC[index])) {
@ -1575,20 +1574,8 @@ static void armature_vert_task(void *__restrict userdata,
co, bone->arm_head, bone->arm_tail, bone->rad_head, bone->rad_tail, bone->dist);
}
/* check limit of weight */
if (data->target->type == OB_GPENCIL) {
if (acum_weight + weight >= 1.0f) {
weight = 1.0f - acum_weight;
}
acum_weight += weight;
}
pchan_bone_deform(pchan, weight, vec, dq, smat, co, &contrib);
/* if acumulated weight limit exceed, exit loop */
if ((data->target->type == OB_GPENCIL) && (acum_weight >= 1.0f)) {
break;
}
}
}
/* if there are vertexgroups but not groups with bones