From 6ad5e2ef1f69b4235538051f4702f6faa418fe43 Mon Sep 17 00:00:00 2001 From: Bastien Montagne Date: Sun, 2 Oct 2011 12:57:49 +0000 Subject: [PATCH] =?UTF-8?q?Fix=20[#28436]=20ID=20mask=20creates=20'feather?= =?UTF-8?q?'=20around=20ID=20even=20with=20AA=20turned=20off.=20Perhaps=20?= =?UTF-8?q?not=20the=20ideal=20solution,=20but=20it=20works,=20is=20easy?= =?UTF-8?q?=20to=20undo=20if/when=20we=20have=20a=20better=20one,=20and=20?= =?UTF-8?q?I=E2=80=99m=20pretty=20sure=20it=20won=E2=80=99t=20break=20anyt?= =?UTF-8?q?hing...?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- source/blender/editors/space_node/drawnode.c | 1 + source/blender/makesrna/intern/rna_nodetree.c | 5 +++++ source/blender/nodes/composite/nodes/node_composite_idMask.c | 2 +- 3 files changed, 7 insertions(+), 1 deletion(-) diff --git a/source/blender/editors/space_node/drawnode.c b/source/blender/editors/space_node/drawnode.c index 970eccb8be3..219aa3261c7 100644 --- a/source/blender/editors/space_node/drawnode.c +++ b/source/blender/editors/space_node/drawnode.c @@ -1538,6 +1538,7 @@ static void node_composit_buts_map_uv(uiLayout *layout, bContext *UNUSED(C), Poi static void node_composit_buts_id_mask(uiLayout *layout, bContext *UNUSED(C), PointerRNA *ptr) { uiItemR(layout, ptr, "index", 0, NULL, ICON_NONE); + uiItemR(layout, ptr, "smooth_mask", 0, NULL, ICON_NONE); } static void node_composit_buts_file_output(uiLayout *layout, bContext *UNUSED(C), PointerRNA *ptr) diff --git a/source/blender/makesrna/intern/rna_nodetree.c b/source/blender/makesrna/intern/rna_nodetree.c index 1b113620663..23a71b20c32 100644 --- a/source/blender/makesrna/intern/rna_nodetree.c +++ b/source/blender/makesrna/intern/rna_nodetree.c @@ -1874,6 +1874,11 @@ static void def_cmp_id_mask(StructRNA *srna) RNA_def_property_range(prop, 0, 10000); RNA_def_property_ui_text(prop, "Index", "Pass index number to convert to alpha"); RNA_def_property_update(prop, NC_NODE|NA_EDITED, "rna_Node_update"); + + prop = RNA_def_property(srna, "smooth_mask", PROP_BOOLEAN, PROP_NONE); + RNA_def_property_boolean_sdna(prop, NULL, "custom2", 0); + RNA_def_property_ui_text(prop, "Smooth Mask", "Apply an anti-aliasing filter to the mask"); + RNA_def_property_update(prop, NC_NODE|NA_EDITED, "rna_Node_update"); } static void def_cmp_map_uv(StructRNA *srna) diff --git a/source/blender/nodes/composite/nodes/node_composite_idMask.c b/source/blender/nodes/composite/nodes/node_composite_idMask.c index 43f78a90add..ddab415b3be 100644 --- a/source/blender/nodes/composite/nodes/node_composite_idMask.c +++ b/source/blender/nodes/composite/nodes/node_composite_idMask.c @@ -99,7 +99,7 @@ static void node_composit_exec_idmask(void *data, bNode *node, bNodeStack **in, stackbuf= alloc_compbuf(cbuf->x, cbuf->y, CB_VAL, 1); /* allocs */; - if(rd->scemode & R_FULL_SAMPLE) + if((rd->scemode & R_FULL_SAMPLE) || node->custom2 == 0) do_idmask_fsa(stackbuf, cbuf, (float)node->custom1); else do_idmask(stackbuf, cbuf, (float)node->custom1);