fix for weight paint using values over 1.0 when blending,
authorCampbell Barton <ideasman42@gmail.com>
Mon, 25 Feb 2013 03:45:56 +0000 (03:45 +0000)
committerCampbell Barton <ideasman42@gmail.com>
Mon, 25 Feb 2013 03:45:56 +0000 (03:45 +0000)
since its possible to have a brush strength over 1.0, it was possible to paint weights which would over-shoot the intended weight.

source/blender/editors/sculpt_paint/paint_vertex.c

index 8ff2a68013cb2bb652beb5eb69cb19c895160c13..0277e1e11dc2ea4e1acfb0444dc076455fb71558 100644 (file)
@@ -913,7 +913,8 @@ static float calc_vp_alpha_dl(VPaint *vp, ViewContext *vc,
 
 BLI_INLINE float wval_blend(const float weight, const float paintval, const float alpha)
 {
-       return (paintval * alpha) + (weight * (1.0f - alpha));
+       const float talpha = min_ff(alpha, 1.0f);  /* blending with values over 1 doesn't make sense */
+       return (paintval * talpha) + (weight * (1.0f - talpha));
 }
 BLI_INLINE float wval_add(const float weight, const float paintval, const float alpha)
 {