? .sconsign.dblite ? airburst-test.avi ? update.patch ? tools/Blender.pyc ? tools/__init__.pyc ? tools/bcolors.pyc ? tools/btools.pyc Index: config/linux2-config.py =================================================================== RCS file: /cvsroot/bf-blender/blender/config/linux2-config.py,v retrieving revision 1.24 diff -u -r1.24 linux2-config.py --- config/linux2-config.py 9 Nov 2006 15:45:18 -0000 1.24 +++ config/linux2-config.py 19 Nov 2006 02:59:36 -0000 @@ -110,7 +110,7 @@ BF_ICONV_LIBPATH = '${BF_ICONV}/lib' # enable ffmpeg support -WITH_BF_FFMPEG = 'false' # -DWITH_FFMPEG +WITH_BF_FFMPEG = 'true' # -DWITH_FFMPEG BF_FFMPEG = '/usr' BF_FFMPEG_INC = '${BF_FFMPEG}/include' BF_FFMPEG_LIBPATH='${BF_FFMPEG}/lib' Index: source/blender/blenkernel/intern/node_composite.c =================================================================== RCS file: /cvsroot/bf-blender/blender/source/blender/blenkernel/intern/node_composite.c,v retrieving revision 1.72 diff -u -r1.72 node_composite.c --- source/blender/blenkernel/intern/node_composite.c 18 Nov 2006 12:34:33 -0000 1.72 +++ source/blender/blenkernel/intern/node_composite.c 19 Nov 2006 02:59:47 -0000 @@ -3647,7 +3647,7 @@ static bNodeType cmp_node_diff_matte={ /* type code */ CMP_NODE_DIFF_MATTE, - /* name */ "Channel Difference Matte", + /* name */ "Difference Key", /* width+range */ 200, 80, 250, /* class+opts */ NODE_CLASS_MATTE, NODE_PREVIEW|NODE_OPTIONS, /* input sock */ cmp_node_diff_matte_in, @@ -3756,7 +3756,7 @@ /* ******************* Chroma Key ********************************************************** */ static bNodeSocketType cmp_node_chroma_in[]={ {SOCK_RGBA,1,"Image", 0.8f, 0.8f, 0.8f, 1.0f, 0.0f, 1.0f}, - {SOCK_RGBA,1,"Key Color", 0.8f, 0.8f, 0.8f, 1.0f, 0.0f, 1.0f}, + /* {SOCK_RGBA,1,"Key Color", 0.8f, 0.8f, 0.8f, 1.0f, 0.0f, 1.0f},*/ {-1,0,""} }; @@ -3789,7 +3789,7 @@ /* Algorithm of my own design-Bob Holcomb */ /* alpha value is written to in[3] because it is done "in place" so that the value gets copied to the rgbbuffer in - the second pixel processor opertation */ + the second pixel processor operation */ NodeChroma *c; float x, z, alpha; @@ -3814,14 +3814,20 @@ break; } - /*is chroma values (added) less than strenght?*/ - if((x+z) < c->fstrength) { - alpha=ABS(c->key[0]-in[0]); /*differnce in luminence*/ + //clamp to zero so that negative values don't affect the other channels input + if(x<0.0) x=0.0; + if(z<0.0) z=0.0; + + /*if chroma values (added) are less than strength then its a key value*/ + if((x+z) < c->fstrength) + { + alpha=(x+z); + alpha=in[0]+alpha; /*add in the luminence for detail*/ if(alpha > c->falpha) alpha=0; - in[3]=alpha; - } - else { - in[3]=1.0; + if(alpha < in[3]) /* is it less than previous alpha */ + { + in[3]=alpha; + } } } @@ -3841,18 +3847,20 @@ chromabuf= dupalloc_compbuf(rgbbuf); c=node->storage; + /* c->key[0]= in[1]->vec[0]; c->key[1]= in[1]->vec[1]; c->key[2]= in[1]->vec[2]; - + */ + /*convert rgbbuf to normalized chroma space*/ - composit1_pixel_processor(node, chromabuf, inbuf, in[1]->vec, do_rgba_to_ycca_normalized, CB_RGBA); + composit1_pixel_processor(node, chromabuf, inbuf, in[0]->vec, do_rgba_to_ycca_normalized, CB_RGBA); /*per pixel chroma key*/ - composit1_pixel_processor(node, rgbbuf, chromabuf, in[1]->vec, do_chroma_key, CB_RGBA); + composit1_pixel_processor(node, rgbbuf, chromabuf, in[0]->vec, do_chroma_key, CB_RGBA); /*convert back*/ - composit1_pixel_processor(node, rgbbuf, chromabuf, in[1]->vec, do_normalized_ycca_to_rgba, CB_RGBA); + composit1_pixel_processor(node, rgbbuf, chromabuf, in[0]->vec, do_normalized_ycca_to_rgba, CB_RGBA); /*cleanup */ free_compbuf(chromabuf); @@ -3878,7 +3886,6 @@ /* ******************* Luminence Key ********************************************************** */ static bNodeSocketType cmp_node_luma_in[]={ {SOCK_RGBA,1,"Image", 0.8f, 0.8f, 0.8f, 1.0f, 0.0f, 1.0f}, - {SOCK_RGBA,1,"Key Color", 0.8f, 0.8f, 0.8f, 1.0f, 0.0f, 1.0f}, {-1,0,""} }; @@ -3896,6 +3903,7 @@ second pixel processor */ NodeChroma *c; + float alpha; c=node->storage; @@ -3913,7 +3921,11 @@ } /*mix*/ - in[3]=(in[0]-c->t2)/(c->t1-c->t2); + alpha=(in[0]-c->t2)/(c->t1-c->t2); + if(alpha < in[3]) /*if less than previous value*/ + { + in[3]=alpha; + } } } Index: source/blender/src/drawnode.c =================================================================== RCS file: /cvsroot/bf-blender/blender/source/blender/src/drawnode.c,v retrieving revision 1.44 diff -u -r1.44 drawnode.c --- source/blender/src/drawnode.c 15 Nov 2006 16:55:40 -0000 1.44 +++ source/blender/src/drawnode.c 19 Nov 2006 02:59:51 -0000 @@ -1094,7 +1094,7 @@ uiBlockBeginAlign(block); uiDefButF(block, NUM, B_NODE_EXEC+node->nr, "Enhance: ", butr->xmin, butr->ymin+20.0, butr->xmax-butr->xmin, 20, - &c->t1, 0.0f, 0.5f, 100, 2, ""); + &c->t1, 0.0f, 0.5f, 100, 2, "Adjusts how much selected channel is affected by color spill algorithm"); uiDefButS(block, ROW, B_NODE_EXEC+node->nr, "R", butr->xmin,butr->ymin,dx,20, &node->custom1,1,1, 0, 0, "Red Spill Suppression"); @@ -1119,33 +1119,34 @@ uiDefButS(block, ROW, B_NODE_EXEC+node->nr,"Green", butr->xmin,butr->ymin+80,dx,20, - &node->custom1,1,1, 0, 0, "Green Background"); + &node->custom1,1,1, 0, 0, "Select if using a green background"); uiDefButS(block, ROW, B_NODE_EXEC+node->nr,"Blue", butr->xmin+dx,butr->ymin+80,dx,20, - &node->custom1,1,2, 0, 0, "Blue Background"); + &node->custom1,1,2, 0, 0, "Select if using a blue background"); - uiDefButF(block, NUM, B_NODE_EXEC+node->nr, "Cb Slope ", + uiDefButF(block, NUMSLI, B_NODE_EXEC+node->nr, "Cb Slope ", butr->xmin, butr->ymin+60, dx, 20, - &c->t1, 0.0f, 20.0f, 100, 0, " "); + &c->t1, 0.0f, 20.0f, 100, 0, "Adjusts the weight a pixel's value has in determining if it is a key color"); - uiDefButF(block, NUM, B_NODE_EXEC+node->nr, "Cr slope ", + uiDefButF(block, NUMSLI, B_NODE_EXEC+node->nr, "Cr slope ", butr->xmin+dx, butr->ymin+60, dx, 20, - &c->t3, 0.0f, 20.0f, 100, 0, " "); + &c->t3, 0.0f, 20.0f, 100, 0, "Adjusts the weight a pixel's value has in determining if it is a key color"); - uiDefButF(block, NUM, B_NODE_EXEC+node->nr, "Cb Pos ", + uiDefButF(block, NUMSLI, B_NODE_EXEC+node->nr, "Cb Pos ", butr->xmin, butr->ymin+40, dx, 20, - &c->t2, 0.0f, 1.0f, 100, 0, " "); + &c->t2, 0.0f, 1.0f, 100, 0, "Pixel values less than this setting are considered a key color"); - uiDefButF(block, NUM, B_NODE_EXEC+node->nr, "Cr pos ", + uiDefButF(block, NUMSLI, B_NODE_EXEC+node->nr, "Cr pos ", butr->xmin+dx, butr->ymin+40, dx, 20, - &c->fsize, 0.0f, 1.0f, 100, 0, " "); + &c->fsize, 0.0f, 1.0f, 100, 0, "Pixel values less than this setting are considered a key color"); - uiDefButF(block, NUMSLI, B_NODE_EXEC+node->nr, "Threshold ", - butr->xmin, butr->ymin+20, butr->xmax-butr->xmin, 20, - &c->fstrength, 0.0f, 0.25f, 100, 0, " "); uiDefButF(block, NUMSLI, B_NODE_EXEC+node->nr, "Alpha Threshold ", + butr->xmin, butr->ymin+20, butr->xmax-butr->xmin, 20, + &c->fstrength, 0.0f, 0.25f, 100, 0, "Key colored pixels below this setting are considered transparent"); + + uiDefButF(block, NUMSLI, B_NODE_EXEC+node->nr, "Detail Threshold ", butr->xmin, butr->ymin, butr->xmax-butr->xmin, 20, - &c->falpha, 0.0f, 1.0f, 100, 0, " "); + &c->falpha, 0.0f, 1.0f, 100, 0, "Keyed pixels below this setting are not processed for detail alpha adjustment"); } return 100; } @@ -1157,10 +1158,10 @@ uiBlockBeginAlign(block); uiDefButF(block, NUMSLI, B_NODE_EXEC+node->nr, "High ", butr->xmin, butr->ymin+20.0, butr->xmax-butr->xmin, 20, - &c->t1, 0.0f, 1.0f, 100, 0, ""); + &c->t1, 0.0f, 1.0f, 100, 0, "Luminance values higher than this setting are 100% opaque"); uiDefButF(block, NUMSLI, B_NODE_EXEC+node->nr, "Low ", butr->xmin, butr->ymin, butr->xmax-butr->xmin, 20, - &c->t2, 0.0f, 1.0f, 100, 0, ""); + &c->t2, 0.0f, 1.0f, 100, 0, "Luminance values lower than this setting are 100% keyed"); uiBlockEndAlign(block); /*keep t2 (low) less than t1 (high) */ Index: source/blender/src/header_node.c =================================================================== RCS file: /cvsroot/bf-blender/blender/source/blender/src/header_node.c,v retrieving revision 1.12 diff -u -r1.12 header_node.c --- source/blender/src/header_node.c 16 Nov 2006 11:55:05 -0000 1.12 +++ source/blender/src/header_node.c 19 Nov 2006 02:59:52 -0000 @@ -414,7 +414,7 @@ uiDefIconTextBlockBut(block, node_add_filtermenu, NULL, ICON_RIGHTARROW_THIN, "Filter", 0, yco-=20, 120, 19, ""); uiDefIconTextBlockBut(block, node_add_convertermenu, NULL, ICON_RIGHTARROW_THIN, "Convertor", 0, yco-=20, 120, 19, ""); uiDefIconTextBlockBut(block, node_add_groupmenu, NULL, ICON_RIGHTARROW_THIN, "Group", 0, yco-=20, 120, 19, ""); - uiDefIconTextBlockBut(block, node_add_mattemenu, NULL, ICON_RIGHTARROW_THIN, "Matte", 0, yco-=20, 120, 19, ""); + uiDefIconTextBlockBut(block, node_add_mattemenu, NULL, ICON_RIGHTARROW_THIN, "Mattes", 0, yco-=20, 120, 19, ""); } else uiDefBut(block, SEPR, 0, "", 0, yco-=6, menuwidth, 6, NULL, 0.0, 0.0, 0, 0, ""); Index: source/blender/src/toolbox.c =================================================================== RCS file: /cvsroot/bf-blender/blender/source/blender/src/toolbox.c,v retrieving revision 1.144 diff -u -r1.144 toolbox.c --- source/blender/src/toolbox.c 15 Nov 2006 14:41:04 -0000 1.144 +++ source/blender/src/toolbox.c 19 Nov 2006 02:59:54 -0000 @@ -1558,7 +1558,7 @@ { 0, "Filters", 5, NULL}, { 0, "Convertors", 6, NULL}, { 0, "Groups", 7, NULL}, - { 0, "Mattes", 8, NULL}, + { 0, "Mattes", 8, NULL}, { -1, "", 0, NULL}}; /* do_node_addmenu() in header_node.c, prototype in BSE_headerbuttons.h */