diff options
author | Juho Vepsalainen <bebraw@gmail.com> | 2007-08-20 15:24:05 +0400 |
---|---|---|
committer | Juho Vepsalainen <bebraw@gmail.com> | 2007-08-20 15:24:05 +0400 |
commit | b697f19cf82164e273562664c01bb9c0a97d0e9b (patch) | |
tree | 7c3b1f0e85ab14be59c1d64bb82e1b2b5922528a /source/blender/nodes | |
parent | c3b1877b4f538d68697b56035823fe08572c080d (diff) |
Added missing node file:
This commit adds the file missing in previous one.
Diffstat (limited to 'source/blender/nodes')
-rw-r--r-- | source/blender/nodes/intern/SHD_nodes/SHD_sepcombRGB.c | 105 |
1 files changed, 105 insertions, 0 deletions
diff --git a/source/blender/nodes/intern/SHD_nodes/SHD_sepcombRGB.c b/source/blender/nodes/intern/SHD_nodes/SHD_sepcombRGB.c new file mode 100644 index 00000000000..2b52a8e2229 --- /dev/null +++ b/source/blender/nodes/intern/SHD_nodes/SHD_sepcombRGB.c @@ -0,0 +1,105 @@ +/** + * + * + * ***** BEGIN GPL LICENSE BLOCK ***** + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + * + * The Original Code is Copyright (C) 2006 Blender Foundation. + * All rights reserved. + * + * The Original Code is: all of this file. + * + * Contributor(s): Juho Vepsäläinen + * + * ***** END GPL LICENSE BLOCK ***** + */ + +#include "../SHD_util.h" + +/* **************** SEPARATE RGBA ******************** */ +static bNodeSocketType sh_node_seprgb_in[]= { + { SOCK_RGBA, 1, "Image", 0.8f, 0.8f, 0.8f, 1.0f, 0.0f, 1.0f}, + { -1, 0, "" } +}; +static bNodeSocketType sh_node_seprgb_out[]= { + { SOCK_VALUE, 0, "R", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f}, + { SOCK_VALUE, 0, "G", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f}, + { SOCK_VALUE, 0, "B", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f}, + { -1, 0, "" } +}; + +static void node_shader_exec_seprgb(void *data, bNode *node, bNodeStack **in, bNodeStack **out) +{ + out[0]->vec[0] = in[0]->vec[0]; + out[1]->vec[0] = in[0]->vec[1]; + out[2]->vec[0] = in[0]->vec[2]; +} + +bNodeType sh_node_seprgb= { + /* *next,*prev */ NULL, NULL, + /* type code */ SH_NODE_SEPRGB, + /* name */ "Separate RGB", + /* width+range */ 80, 40, 140, + /* class+opts */ NODE_CLASS_CONVERTOR, 0, + /* input sock */ sh_node_seprgb_in, + /* output sock */ sh_node_seprgb_out, + /* storage */ "", + /* execfunc */ node_shader_exec_seprgb, + /* butfunc */ NULL, + /* initfunc */ NULL, + /* freestoragefunc */ NULL, + /* copystoragefunc */ NULL, + /* id */ NULL + +}; + + +/* **************** COMBINE RGB ******************** */ +static bNodeSocketType sh_node_combrgb_in[]= { + { SOCK_VALUE, 1, "R", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f}, + { SOCK_VALUE, 1, "G", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f}, + { SOCK_VALUE, 1, "B", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f}, + { -1, 0, "" } +}; +static bNodeSocketType sh_node_combrgb_out[]= { + { SOCK_RGBA, 0, "Image", 0.8f, 0.8f, 0.8f, 1.0f, 0.0f, 1.0f}, + { -1, 0, "" } +}; + +static void node_shader_exec_combrgb(void *data, bNode *node, bNodeStack **in, bNodeStack **out) +{ + out[0]->vec[0] = in[0]->vec[0]; + out[0]->vec[1] = in[1]->vec[0]; + out[0]->vec[2] = in[2]->vec[0]; +} + +bNodeType sh_node_combrgb= { + /* *next,*prev */ NULL, NULL, + /* type code */ SH_NODE_COMBRGB, + /* name */ "Combine RGB", + /* width+range */ 80, 40, 140, + /* class+opts */ NODE_CLASS_CONVERTOR, NODE_OPTIONS, + /* input sock */ sh_node_combrgb_in, + /* output sock */ sh_node_combrgb_out, + /* storage */ "", + /* execfunc */ node_shader_exec_combrgb, + /* butfunc */ NULL, + /* initfunc */ NULL, + /* freestoragefunc */ NULL, + /* copystoragefunc */ NULL, + /* id */ NULL + +}; |