Fix: Bevel vertex didn't use weights in some cases

Bevel Vertices did not use vertex/bevel weights if the Width Type
was set to Width or Depth.
This commit is contained in:
Henrik Dick 2022-02-10 22:14:02 +01:00
parent 88ff5e5fb9
commit 5cac5a1a69
1 changed files with 4 additions and 4 deletions

View File

@ -6293,10 +6293,10 @@ static BevVert *bevel_vert_construct(BMesh *bm, BevelParams *bp, BMVert *v)
sub_v3_v3v3(edge_dir, bv->v->co, v2->co);
float z = fabsf(2.0f * sinf(angle_v3v3(vert_axis, edge_dir)));
if (z < BEVEL_EPSILON) {
e->offset_l_spec = 0.01f * bp->offset; /* Undefined behavior, so tiny bevel. */
e->offset_l_spec = 0.01f * bv->offset; /* Undefined behavior, so tiny bevel. */
}
else {
e->offset_l_spec = bp->offset / z;
e->offset_l_spec = bv->offset / z;
}
break;
}
@ -6305,10 +6305,10 @@ static BevVert *bevel_vert_construct(BMesh *bm, BevelParams *bp, BMVert *v)
sub_v3_v3v3(edge_dir, bv->v->co, v2->co);
float z = fabsf(cosf(angle_v3v3(vert_axis, edge_dir)));
if (z < BEVEL_EPSILON) {
e->offset_l_spec = 0.01f * bp->offset; /* Undefined behavior, so tiny bevel. */
e->offset_l_spec = 0.01f * bv->offset; /* Undefined behavior, so tiny bevel. */
}
else {
e->offset_l_spec = bp->offset / z;
e->offset_l_spec = bv->offset / z;
}
break;
}