diff options
author | Campbell Barton <ideasman42@gmail.com> | 2012-08-22 15:58:59 +0400 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2012-08-22 15:58:59 +0400 |
commit | f67d0e63a44e5cda79dfd5981dace42a87bdebeb (patch) | |
tree | 1811aa402b013df6cb8da3d536d56417264dc02d /source/blender/blenkernel/intern/mask_rasterize.c | |
parent | 92a1572102700fe2f03d4de75ac41c10db4621dd (diff) |
add new mask blend mode: 'Merge Subtract'. gives better results when using feather on overlapping masks when one subtracts from another.
Diffstat (limited to 'source/blender/blenkernel/intern/mask_rasterize.c')
-rw-r--r-- | source/blender/blenkernel/intern/mask_rasterize.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/source/blender/blenkernel/intern/mask_rasterize.c b/source/blender/blenkernel/intern/mask_rasterize.c index d39be3b8ed6..48e55601469 100644 --- a/source/blender/blenkernel/intern/mask_rasterize.c +++ b/source/blender/blenkernel/intern/mask_rasterize.c @@ -1282,9 +1282,12 @@ float BKE_maskrasterize_handle_sample(MaskRasterHandle *mr_handle, const float x } 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; |