[Bf-blender-cvs] [475d7d073ad] master: Fix T74800 Bevel modifier generates vertex group weight > 1.0.

Howard Trickey noreply at git.blender.org
Fri Apr 10 17:06:09 CEST 2020


Commit: 475d7d073add3d1f49867d1ab5c0a1b4857adab8
Author: Howard Trickey
Date:   Fri Apr 10 10:59:27 2020 -0400
Branches: master
https://developer.blender.org/rB475d7d073add3d1f49867d1ab5c0a1b4857adab8

Fix T74800 Bevel modifier generates vertex group weight > 1.0.

Due to floating point approximations, the weights for interpolating
the mdeformvert layer could add up to a tiny bit more than 1.0.
This was not a problem in practice, but the mesh validation routine
used in regression tests was testing for this and therefore failing.
Just changed interpolation of mdeformverts to clamp max to 1.0f.

===================================================================

M	source/blender/blenkernel/intern/customdata.c

===================================================================

diff --git a/source/blender/blenkernel/intern/customdata.c b/source/blender/blenkernel/intern/customdata.c
index 754c2ce097f..eb5a90a7c4a 100644
--- a/source/blender/blenkernel/intern/customdata.c
+++ b/source/blender/blenkernel/intern/customdata.c
@@ -315,6 +315,9 @@ static void layerInterp_mdeformvert(const void **sources,
   if (totweight) {
     dvert->totweight = totweight;
     for (i = 0, node = dest_dwlink; node; node = node->next, i++) {
+      if (node->dw.weight > 1.0f) {
+        node->dw.weight = 1.0f;
+      }
       dvert->dw[i] = node->dw;
     }
   }



More information about the Bf-blender-cvs mailing list