Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCampbell Barton <ideasman42@gmail.com>2017-10-06 10:57:37 +0300
committerCampbell Barton <ideasman42@gmail.com>2017-10-06 10:57:37 +0300
commit8ef757df3d2ab5867f2361908e524a7de0f4489e (patch)
treed87c6d05834691dfc75387c8b4393598c5374a0b /source/blender
parent082987ec74c3fd8e6a4acba098882041694b86c2 (diff)
Vertex Paint: use brush front-face setting
Follow sculpt mode more closely by using the brush front-face option.
Diffstat (limited to 'source/blender')
-rw-r--r--source/blender/editors/sculpt_paint/paint_vertex.c14
-rw-r--r--source/blender/makesdna/DNA_scene_types.h1
-rw-r--r--source/blender/makesrna/intern/rna_sculpt_paint.c5
3 files changed, 7 insertions, 13 deletions
diff --git a/source/blender/editors/sculpt_paint/paint_vertex.c b/source/blender/editors/sculpt_paint/paint_vertex.c
index 7c54277639a..1487b75a4d6 100644
--- a/source/blender/editors/sculpt_paint/paint_vertex.c
+++ b/source/blender/editors/sculpt_paint/paint_vertex.c
@@ -143,7 +143,7 @@ static float view_angle_limits_apply_falloff(
static bool vwpaint_use_normal(const VPaint *vp)
{
- return ((vp->flag & VP_FLAG_PROJECT_BACKFACE) == 0) ||
+ return ((vp->paint.brush->flag & BRUSH_FRONTFACE) != 0) ||
((vp->flag & VP_FLAG_PROJECT_FLAT) == 0);
}
@@ -1556,7 +1556,7 @@ static void do_wpaint_brush_blur_task_cb_ex(
float brush_strength = cache->bstrength;
const float angle_cos = (use_normal && vd.no) ?
dot_vf3vs3(ss->cache->sculpt_normal_symm, vd.no) : 1.0f;
- if (((data->vp->flag & VP_FLAG_PROJECT_BACKFACE) ||
+ if (((brush->flag & BRUSH_FRONTFACE) == 0 ||
(angle_cos > 0.0f)) &&
((data->vp->flag & VP_FLAG_PROJECT_FLAT) ||
view_angle_limits_apply_falloff(&data->wpd->normal_angle_precalc, angle_cos, &brush_strength)))
@@ -1632,7 +1632,7 @@ static void do_wpaint_brush_smear_task_cb_ex(
float brush_strength = cache->bstrength;
const float angle_cos = (use_normal && vd.no) ?
dot_vf3vs3(ss->cache->sculpt_normal_symm, vd.no) : 1.0f;
- if (((data->vp->flag & VP_FLAG_PROJECT_BACKFACE) ||
+ if (((brush->flag & BRUSH_FRONTFACE) == 0 ||
(angle_cos > 0.0f)) &&
((data->vp->flag & VP_FLAG_PROJECT_FLAT) ||
view_angle_limits_apply_falloff(&data->wpd->normal_angle_precalc, angle_cos, &brush_strength)))
@@ -1733,7 +1733,7 @@ static void do_wpaint_brush_draw_task_cb_ex(
float brush_strength = cache->bstrength;
const float angle_cos = (use_normal && vd.no) ?
dot_vf3vs3(ss->cache->sculpt_normal_symm, vd.no) : 1.0f;
- if (((data->vp->flag & VP_FLAG_PROJECT_BACKFACE) ||
+ if (((brush->flag & BRUSH_FRONTFACE) == 0 ||
(angle_cos > 0.0f)) &&
((data->vp->flag & VP_FLAG_PROJECT_FLAT) ||
view_angle_limits_apply_falloff(&data->wpd->normal_angle_precalc, angle_cos, &brush_strength)))
@@ -2530,7 +2530,7 @@ static void do_vpaint_brush_draw_task_cb_ex(
float brush_strength = cache->bstrength;
const float angle_cos = (use_normal && vd.no) ?
dot_vf3vs3(ss->cache->sculpt_normal_symm, vd.no) : 1.0f;
- if (((data->vp->flag & VP_FLAG_PROJECT_BACKFACE) ||
+ if (((brush->flag & BRUSH_FRONTFACE) == 0 ||
(angle_cos > 0.0f)) &&
((data->vp->flag & VP_FLAG_PROJECT_FLAT) ||
view_angle_limits_apply_falloff(&data->vpd->normal_angle_precalc, angle_cos, &brush_strength)))
@@ -2616,7 +2616,7 @@ static void do_vpaint_brush_blur_task_cb_ex(
float brush_strength = cache->bstrength;
const float angle_cos = (use_normal && vd.no) ?
dot_vf3vs3(ss->cache->sculpt_normal_symm, vd.no) : 1.0f;
- if (((data->vp->flag & VP_FLAG_PROJECT_BACKFACE) ||
+ if (((brush->flag & BRUSH_FRONTFACE) == 0 ||
(angle_cos > 0.0f)) &&
((data->vp->flag & VP_FLAG_PROJECT_FLAT) ||
view_angle_limits_apply_falloff(&data->vpd->normal_angle_precalc, angle_cos, &brush_strength)))
@@ -2731,7 +2731,7 @@ static void do_vpaint_brush_smear_task_cb_ex(
float brush_strength = cache->bstrength;
const float angle_cos = (use_normal && vd.no) ?
dot_vf3vs3(ss->cache->sculpt_normal_symm, vd.no) : 1.0f;
- if (((data->vp->flag & VP_FLAG_PROJECT_BACKFACE) ||
+ if (((brush->flag & BRUSH_FRONTFACE) == 0 ||
(angle_cos > 0.0f)) &&
((data->vp->flag & VP_FLAG_PROJECT_FLAT) ||
view_angle_limits_apply_falloff(&data->vpd->normal_angle_precalc, angle_cos, &brush_strength)))
diff --git a/source/blender/makesdna/DNA_scene_types.h b/source/blender/makesdna/DNA_scene_types.h
index 830c584529c..acd712843de 100644
--- a/source/blender/makesdna/DNA_scene_types.h
+++ b/source/blender/makesdna/DNA_scene_types.h
@@ -1125,7 +1125,6 @@ typedef struct VPaint {
/* VPaint.flag */
enum {
- VP_FLAG_PROJECT_BACKFACE = (1 << 0),
/* TODO */
// VP_FLAG_PROJECT_XRAY = (1 << 1),
VP_FLAG_PROJECT_FLAT = (1 << 3),
diff --git a/source/blender/makesrna/intern/rna_sculpt_paint.c b/source/blender/makesrna/intern/rna_sculpt_paint.c
index 6bd4aefed7a..b12fece82d1 100644
--- a/source/blender/makesrna/intern/rna_sculpt_paint.c
+++ b/source/blender/makesrna/intern/rna_sculpt_paint.c
@@ -671,11 +671,6 @@ static void rna_def_vertex_paint(BlenderRNA *brna)
RNA_def_struct_path_func(srna, "rna_VertexPaint_path");
RNA_def_struct_ui_text(srna, "Vertex Paint", "Properties of vertex and weight paint mode");
- prop = RNA_def_property(srna, "use_backface_culling", PROP_BOOLEAN, PROP_NONE);
- RNA_def_property_boolean_negative_sdna(prop, NULL, "flag", VP_FLAG_PROJECT_BACKFACE);
- RNA_def_property_ui_text(prop, "Cull", "Ignore vertices pointing away from the view (faster)");
- RNA_def_property_update(prop, NC_SCENE | ND_TOOLSETTINGS, NULL);
-
prop = RNA_def_property(srna, "use_normal_falloff", PROP_BOOLEAN, PROP_NONE);
RNA_def_property_boolean_negative_sdna(prop, NULL, "flag", VP_FLAG_PROJECT_FLAT);
RNA_def_property_ui_text(prop, "Normals", "Paint most on faces pointing towards the view");