[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [50112] trunk/blender/source/blender: add new mask blend mode: 'Merge Subtract'.
Campbell Barton
ideasman42 at gmail.com
Wed Aug 22 13:58:59 CEST 2012
Revision: 50112
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=50112
Author: campbellbarton
Date: 2012-08-22 11:58:59 +0000 (Wed, 22 Aug 2012)
Log Message:
-----------
add new mask blend mode: 'Merge Subtract'. gives better results when using feather on overlapping masks when one subtracts from another.
Modified Paths:
--------------
trunk/blender/source/blender/blenkernel/intern/mask.c
trunk/blender/source/blender/blenkernel/intern/mask_rasterize.c
trunk/blender/source/blender/makesdna/DNA_mask_types.h
trunk/blender/source/blender/makesrna/intern/rna_mask.c
Modified: trunk/blender/source/blender/blenkernel/intern/mask.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/mask.c 2012-08-22 11:18:37 UTC (rev 50111)
+++ trunk/blender/source/blender/blenkernel/intern/mask.c 2012-08-22 11:58:59 UTC (rev 50112)
@@ -158,7 +158,7 @@
mask->masklay_tot++;
- masklay->blend = MASK_BLEND_MERGE;
+ masklay->blend = MASK_BLEND_MERGE_ADD;
masklay->alpha = 1.0f;
return masklay;
Modified: trunk/blender/source/blender/blenkernel/intern/mask_rasterize.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/mask_rasterize.c 2012-08-22 11:18:37 UTC (rev 50111)
+++ trunk/blender/source/blender/blenkernel/intern/mask_rasterize.c 2012-08-22 11:58:59 UTC (rev 50112)
@@ -1282,9 +1282,12 @@
}
switch (layer->blend) {
- case MASK_BLEND_MERGE:
+ case MASK_BLEND_MERGE_ADD:
value += value_layer * (1.0f - value);
break;
+ case MASK_BLEND_MERGE_SUBTRACT:
+ value -= value_layer * value;
+ break;
case MASK_BLEND_ADD:
value += value_layer;
break;
Modified: trunk/blender/source/blender/makesdna/DNA_mask_types.h
===================================================================
--- trunk/blender/source/blender/makesdna/DNA_mask_types.h 2012-08-22 11:18:37 UTC (rev 50111)
+++ trunk/blender/source/blender/makesdna/DNA_mask_types.h 2012-08-22 11:58:59 UTC (rev 50112)
@@ -168,14 +168,15 @@
/* masklay->blend */
enum {
- MASK_BLEND_ADD = 0,
- MASK_BLEND_SUBTRACT = 1,
- MASK_BLEND_LIGHTEN = 2,
- MASK_BLEND_DARKEN = 3,
- MASK_BLEND_MUL = 4,
- MASK_BLEND_REPLACE = 5,
- MASK_BLEND_DIFFERENCE = 6,
- MASK_BLEND_MERGE = 7
+ MASK_BLEND_ADD = 0,
+ MASK_BLEND_SUBTRACT = 1,
+ MASK_BLEND_LIGHTEN = 2,
+ MASK_BLEND_DARKEN = 3,
+ MASK_BLEND_MUL = 4,
+ MASK_BLEND_REPLACE = 5,
+ MASK_BLEND_DIFFERENCE = 6,
+ MASK_BLEND_MERGE_ADD = 7,
+ MASK_BLEND_MERGE_SUBTRACT = 8
};
/* masklay->blend_flag */
Modified: trunk/blender/source/blender/makesrna/intern/rna_mask.c
===================================================================
--- trunk/blender/source/blender/makesrna/intern/rna_mask.c 2012-08-22 11:18:37 UTC (rev 50111)
+++ trunk/blender/source/blender/makesrna/intern/rna_mask.c 2012-08-22 11:58:59 UTC (rev 50112)
@@ -580,7 +580,8 @@
static void rna_def_mask_layer(BlenderRNA *brna)
{
static EnumPropertyItem masklay_blend_mode_items[] = {
- {MASK_BLEND_MERGE, "MERGE", 0, "Merge", ""},
+ {MASK_BLEND_MERGE_ADD, "MERGE_ADD", 0, "Merge Add", ""},
+ {MASK_BLEND_MERGE_SUBTRACT, "MERGE_SUBTRACT", 0, "Merge Subtract", ""},
{MASK_BLEND_ADD, "ADD", 0, "Add", ""},
{MASK_BLEND_SUBTRACT, "SUBTRACT", 0, "Subtract", ""},
{MASK_BLEND_LIGHTEN, "LIGHTEN", 0, "Lighten", ""},
More information about the Bf-blender-cvs
mailing list