Commit: f1e7891588531da95da0660f82afa4d31d866ca5
Author: Campbell Barton
Date:   Sun Oct 1 23:51:07 2017 +1100
Branches: master
https://developer.blender.org/rBf1e7891588531da95da0660f82afa4d31d866ca5

Vertex Paint: respect 'normal' option

Recent changes ignored this option.

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

M       source/blender/editors/sculpt_paint/paint_vertex.c

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

diff --git a/source/blender/editors/sculpt_paint/paint_vertex.c 
b/source/blender/editors/sculpt_paint/paint_vertex.c
index 47b84dda1af..638a2616fc4 100644
--- a/source/blender/editors/sculpt_paint/paint_vertex.c
+++ b/source/blender/editors/sculpt_paint/paint_vertex.c
@@ -1469,9 +1469,12 @@ static void do_wpaint_brush_blur_task_cb_ex(
                                        if (view_dot > 0.0f) {
                                                const float brush_fade = 
BKE_brush_curve_strength(brush, sqrtf(test.dist), cache->radius);
                                                float final_alpha =
-                                                       view_dot * brush_fade * 
brush_strength *
+                                                       brush_fade * 
brush_strength *
                                                        grid_alpha * 
brush_alpha_pressure;
 
+                                               if (data->vp->flag & 
VP_NORMALS) {
+                                                       final_alpha *= view_dot;
+                                               }
                                                if (brush->flag & 
BRUSH_ACCUMULATE) {
                                                        float mask_accum = 
ss->mode.wpaint.previous_accum[v_index];
                                                        final_alpha = 
min_ff(final_alpha + mask_accum, brush_strength);
@@ -1572,9 +1575,13 @@ static void do_wpaint_brush_smear_task_cb_ex(
                                                /* Apply weight to vertex */
                                                if (do_color) {
                                                        const float brush_fade 
= BKE_brush_curve_strength(brush, test.dist, cache->radius);
-                                                       const float final_alpha 
=
-                                                               view_dot * 
brush_fade * brush_strength *
+                                                       float final_alpha =
+                                                               brush_fade * 
brush_strength *
                                                                grid_alpha * 
brush_alpha_pressure;
+
+                                                       if (data->vp->flag & 
VP_NORMALS) {
+                                                               final_alpha *= 
view_dot;
+                                                       }
                                                        do_weight_paint_vertex(
                                                                data->vp, 
data->ob, data->wpi,
                                                                v_index, 
final_alpha, (float)weight_final);
@@ -1625,8 +1632,11 @@ static void do_wpaint_brush_draw_task_cb_ex(
                                const float view_dot = (vd.no) ? 
dot_vf3vs3(cache->sculpt_normal_symm, vd.no) : 1.0;
                                if (view_dot > 0.0f) {
                                        const float brush_fade = 
BKE_brush_curve_strength(brush, sqrtf(test.dist), cache->radius);
-                                       float final_alpha = view_dot * 
brush_fade * brush_strength * grid_alpha * brush_alpha_pressure;
+                                       float final_alpha = brush_fade * 
brush_strength * grid_alpha * brush_alpha_pressure;
 
+                                       if (data->vp->flag & VP_NORMALS) {
+                                               final_alpha *= view_dot;
+                                       }
                                        if (brush->flag & BRUSH_ACCUMULATE) {
                                                float mask_accum = 
ss->mode.wpaint.previous_accum[v_index];
                                                final_alpha = 
min_ff(final_alpha + mask_accum, brush_strength);
@@ -2390,9 +2400,12 @@ static void do_vpaint_brush_draw_task_cb_ex(
                                                                color_orig = 
ss->mode.vpaint.previous_color[l_index];
                                                        }
                                                        float final_alpha =
-                                                               255 * 
brush_fade * brush_strength * view_dot *
+                                                               255 * 
brush_fade * brush_strength *
                                                                tex_alpha * 
brush_alpha_pressure * grid_alpha;
 
+                                                       if (data->vp->flag & 
VP_NORMALS) {
+                                                               final_alpha *= 
view_dot;
+                                                       }
                                                        if (brush->flag & 
BRUSH_ACCUMULATE) {
                                                                float 
mask_accum = ss->mode.vpaint.previous_accum[l_index];
                                                                final_alpha = 
min_ff(final_alpha + mask_accum, 255.0f * brush_strength);
@@ -2494,9 +2507,13 @@ static void do_vpaint_brush_blur_task_cb_ex(
                                                                        }
                                                                        
color_orig = ss->mode.vpaint.previous_color[l_index];
                                                                }
-                                                               const float 
final_alpha =
-                                                                       255 * 
brush_fade * brush_strength * view_dot *
+                                                               float 
final_alpha =
+                                                                       255 * 
brush_fade * brush_strength *
                                                                        
brush_alpha_pressure * grid_alpha;
+
+                                                               if 
(data->vp->flag & VP_NORMALS) {
+                                                                       
final_alpha *= view_dot;
+                                                               }
                                                                /* Mix the new 
color with the original
                                                                 * based on the 
brush strength and the curve. */
                                                                lcol[l_index] = 
vpaint_blend(
@@ -2614,9 +2631,13 @@ static void do_vpaint_brush_smear_task_cb_ex(
                                                                                
}
                                                                                
color_orig = ss->mode.vpaint.previous_color[l_index];
                                                                        }
-                                                                       const 
float final_alpha =
+                                                                       float 
final_alpha =
                                                                                
255 * brush_fade * brush_strength *
-                                                                               
view_dot * brush_alpha_pressure * grid_alpha;
+                                                                               
brush_alpha_pressure * grid_alpha;
+
+                                                                       if 
(data->vp->flag & VP_NORMALS) {
+                                                                               
final_alpha *= view_dot;
+                                                                       }
                                                                        /* Mix 
the new color with the original
                                                                         * 
based on the brush strength and the curve. */
                                                                        
lcol[l_index] = vpaint_blend(

_______________________________________________
Bf-blender-cvs mailing list
[email protected]
https://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to