From 78d3f7358bf078a0af5eb3ef53d7357cbd3febea Mon Sep 17 00:00:00 2001 From: Ton Roosendaal Date: Tue, 5 Dec 2006 18:27:43 +0000 Subject: [PATCH] Two more fixes for pass composite: - Blur nodes didn't accept RGB buffers (only RGBA or single channel ones) - Mix node had maximum for 'mix' on 1.0, for passes edit that could become more, made it 5! --- source/blender/blenkernel/intern/node_composite.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/source/blender/blenkernel/intern/node_composite.c b/source/blender/blenkernel/intern/node_composite.c index ed43cf2d808..85afbd8de5c 100644 --- a/source/blender/blenkernel/intern/node_composite.c +++ b/source/blender/blenkernel/intern/node_composite.c @@ -1603,7 +1603,7 @@ static bNodeType cmp_node_hue_sat= { /* **************** MIX RGB ******************** */ static bNodeSocketType cmp_node_mix_rgb_in[]= { - { SOCK_VALUE, 1, "Fac", 0.5f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, + { SOCK_VALUE, 1, "Fac", 0.5f, 0.0f, 0.0f, 0.0f, 0.0f, 5.0f}, { SOCK_RGBA, 1, "Image", 0.8f, 0.8f, 0.8f, 1.0f, 0.0f, 1.0f}, { SOCK_RGBA, 1, "Image", 0.8f, 0.8f, 0.8f, 1.0f, 0.0f, 1.0f}, { -1, 0, "" } @@ -2983,9 +2983,13 @@ static void node_composit_exec_blur(void *data, bNode *node, bNodeStack **in, bN { CompBuf *new, *img= in[0]->data; - if(img==NULL || img->type==CB_VEC3 || out[0]->hasoutput==0) + if(img==NULL || out[0]->hasoutput==0) return; + if(img->type==CB_VEC3) { + img= typecheck_compbuf(in[0]->data, CB_RGBA); + } + /* if fac input, we do it different */ if(in[1]->data) { @@ -3028,6 +3032,8 @@ static void node_composit_exec_blur(void *data, bNode *node, bNodeStack **in, bN } out[0]->data= new; } + if(img!=in[0]->data) + free_compbuf(img); }