diff options
author | Miika Hamalainen <blender@miikah.org> | 2011-11-05 11:39:59 +0400 |
---|---|---|
committer | Miika Hamalainen <blender@miikah.org> | 2011-11-05 11:39:59 +0400 |
commit | b9c83456b27da57a14bcf8d274b460e670d49990 (patch) | |
tree | e75405aa27c48bb545ef5c07fa5095ed6a9f236c | |
parent | b3dd11821f33973c07238b1f9c9e0998666de6b2 (diff) |
Dynamic Paint:
* Fixed another issue from latest alpha blending changes. Zero alpha brush was painting black color.
* Fix: "Inner Proximity" brush setting was also affecting displace.
* Other small code changes.
-rw-r--r-- | source/blender/blenkernel/intern/dynamicpaint.c | 8 | ||||
-rw-r--r-- | source/blender/editors/interface/interface_templates.c | 2 | ||||
-rw-r--r-- | source/blender/makesrna/intern/rna_dynamicpaint.c | 2 |
3 files changed, 7 insertions, 5 deletions
diff --git a/source/blender/blenkernel/intern/dynamicpaint.c b/source/blender/blenkernel/intern/dynamicpaint.c index d7bdbf34b69..3085876f592 100644 --- a/source/blender/blenkernel/intern/dynamicpaint.c +++ b/source/blender/blenkernel/intern/dynamicpaint.c @@ -3401,7 +3401,7 @@ static int dynamicPaint_paintMesh(DynamicPaintSurface *surface, DynamicPaintBrus /* if any sample was inside paint range */ - if (brushStrength > 0.01f) { + if (brushStrength > 0.0f || depth > 0.0f) { /* apply supersampling results */ if (samples > 1) { @@ -4390,8 +4390,10 @@ static void dynamicPaint_surfacePreStep(DynamicPaintSurface *surface, float time pPoint->alpha = (f_color[3] - pPoint->e_alpha)/(1.0f-pPoint->e_alpha); /* for each rgb component, calculate a new dry layer color that keeps the final blend color * with these new alpha values. (wet layer color doesnt change)*/ - for (i=0; i<3; i++) { - pPoint->color[i] = (f_color[i]*f_color[3] - pPoint->e_color[i]*pPoint->e_alpha)/(pPoint->alpha*(1.0f-pPoint->e_alpha)); + if (pPoint->alpha) { + for (i=0; i<3; i++) { + pPoint->color[i] = (f_color[i]*f_color[3] - pPoint->e_color[i]*pPoint->e_alpha)/(pPoint->alpha*(1.0f-pPoint->e_alpha)); + } } pPoint->state = DPAINT_PAINT_WET; diff --git a/source/blender/editors/interface/interface_templates.c b/source/blender/editors/interface/interface_templates.c index 89b9f74d851..730a2ccb0bd 100644 --- a/source/blender/editors/interface/interface_templates.c +++ b/source/blender/editors/interface/interface_templates.c @@ -2181,7 +2181,7 @@ static void list_item_row(bContext *C, uiLayout *layout, PointerRNA *ptr, Pointe RNA_property_enum_name(C, itemptr, prop, RNA_property_enum_get(itemptr, prop), &enum_name); - sprintf(name_final, "%s (%s)",name,enum_name); + BLI_snprintf(name_final, sizeof(name_final), "%s (%s)",name,enum_name); uiItemL(sub, name_final, icon); if (dynamicPaint_surfaceHasColorPreview(surface)) { uiBlockSetEmboss(block, UI_EMBOSSN); diff --git a/source/blender/makesrna/intern/rna_dynamicpaint.c b/source/blender/makesrna/intern/rna_dynamicpaint.c index 97de50c5e91..1f678faf421 100644 --- a/source/blender/makesrna/intern/rna_dynamicpaint.c +++ b/source/blender/makesrna/intern/rna_dynamicpaint.c @@ -749,7 +749,7 @@ static void rna_def_dynamic_paint_brush_settings(BlenderRNA *brna) prop= RNA_def_property(srna, "paint_wetness", PROP_FLOAT, PROP_NONE); RNA_def_property_float_sdna(prop, NULL, "wetness"); - RNA_def_property_range(prop, 0.0, 1.5); + RNA_def_property_range(prop, 0.0, 1.0); RNA_def_property_ui_range(prop, 0.0, 1.0, 5, 2); RNA_def_property_ui_text(prop, "Paint Wetness", "Paint wetness. Visible in wetmap. Some effects only affect wet paint"); RNA_def_property_update(prop, NC_OBJECT|ND_MODIFIER, "rna_DynamicPaint_redoModifier"); |