[Bf-blender-cvs] [7dd54b38585] builtin-simulation-nodes: add separate/combine xyz/rgb/hsv node uis
Jacques Lucke
noreply at git.blender.org
Fri Mar 13 15:15:54 CET 2020
Commit: 7dd54b385852ab139975b9dea881c17aff005439
Author: Jacques Lucke
Date: Fri Mar 13 15:14:35 2020 +0100
Branches: builtin-simulation-nodes
https://developer.blender.org/rB7dd54b385852ab139975b9dea881c17aff005439
add separate/combine xyz/rgb/hsv node uis
===================================================================
M release/scripts/startup/nodeitems_builtins.py
M source/blender/blenkernel/BKE_node.h
M source/blender/blenkernel/intern/node.c
M source/blender/nodes/CMakeLists.txt
M source/blender/nodes/NOD_function.h
M source/blender/nodes/NOD_static_types.h
A source/blender/nodes/function/nodes/node_fn_combine_hsv.cc
A source/blender/nodes/function/nodes/node_fn_combine_rgb.cc
A source/blender/nodes/function/nodes/node_fn_separate_hsv.cc
A source/blender/nodes/function/nodes/node_fn_separate_rgb.cc
A source/blender/nodes/function/nodes/node_fn_separate_xyz.cc
===================================================================
diff --git a/release/scripts/startup/nodeitems_builtins.py b/release/scripts/startup/nodeitems_builtins.py
index 604b3ac143e..ca8b0b68d66 100644
--- a/release/scripts/startup/nodeitems_builtins.py
+++ b/release/scripts/startup/nodeitems_builtins.py
@@ -505,8 +505,13 @@ simulation_node_categories = [
NodeItem("SimulationNodeSimulationTime"),
NodeItem("SimulationNodeParticleAttribute"),
]),
- FunctionNodeCategory("VECTOR", "Vector", items=[
+ FunctionNodeCategory("CONVERTER", "Converter", items=[
NodeItem("FunctionNodeCombineXYZ"),
+ NodeItem("FunctionNodeSeparateXYZ"),
+ NodeItem("FunctionNodeCombineRGB"),
+ NodeItem("FunctionNodeSeparateRGB"),
+ NodeItem("FunctionNodeCombineHSV"),
+ NodeItem("FunctionNodeSeparateHSV"),
]),
]
diff --git a/source/blender/blenkernel/BKE_node.h b/source/blender/blenkernel/BKE_node.h
index d5b3077d21b..cf30d829507 100644
--- a/source/blender/blenkernel/BKE_node.h
+++ b/source/blender/blenkernel/BKE_node.h
@@ -1014,6 +1014,11 @@ void BKE_nodetree_remove_layer_n(struct bNodeTree *ntree,
#define SIM_NODE_PARTICLE_ATTRIBUTE 1011
#define FN_NODE_COMBINE_XYZ 1100
+#define FN_NODE_SEPARATE_XYZ 1101
+#define FN_NODE_COMBINE_RGB 1102
+#define FN_NODE_SEPARATE_RGB 1103
+#define FN_NODE_COMBINE_HSV 1104
+#define FN_NODE_SEPARATE_HSV 1105
/* custom defines options for Material node */
// #define SH_NODE_MAT_DIFF 1
diff --git a/source/blender/blenkernel/intern/node.c b/source/blender/blenkernel/intern/node.c
index 5095902dd4d..927d9950449 100644
--- a/source/blender/blenkernel/intern/node.c
+++ b/source/blender/blenkernel/intern/node.c
@@ -4200,6 +4200,11 @@ static void registerSimulationNodes(void)
static void registerFunctionNodes(void)
{
register_node_type_fn_combine_xyz();
+ register_node_type_fn_separate_xyz();
+ register_node_type_fn_combine_rgb();
+ register_node_type_fn_separate_rgb();
+ register_node_type_fn_combine_hsv();
+ register_node_type_fn_separate_hsv();
}
void init_nodesystem(void)
diff --git a/source/blender/nodes/CMakeLists.txt b/source/blender/nodes/CMakeLists.txt
index 5542006b439..aeff0a29cd5 100644
--- a/source/blender/nodes/CMakeLists.txt
+++ b/source/blender/nodes/CMakeLists.txt
@@ -130,6 +130,11 @@ set(SRC
composite/node_composite_util.c
function/nodes/node_fn_combine_xyz.cc
+ function/nodes/node_fn_separate_xyz.cc
+ function/nodes/node_fn_combine_rgb.cc
+ function/nodes/node_fn_separate_rgb.cc
+ function/nodes/node_fn_combine_hsv.cc
+ function/nodes/node_fn_separate_hsv.cc
function/node_fn_util.cc
shader/nodes/node_shader_add_shader.c
diff --git a/source/blender/nodes/NOD_function.h b/source/blender/nodes/NOD_function.h
index 96e4087c489..4847fb61799 100644
--- a/source/blender/nodes/NOD_function.h
+++ b/source/blender/nodes/NOD_function.h
@@ -6,6 +6,11 @@ extern "C" {
#endif
void register_node_type_fn_combine_xyz(void);
+void register_node_type_fn_separate_xyz(void);
+void register_node_type_fn_combine_rgb(void);
+void register_node_type_fn_separate_rgb(void);
+void register_node_type_fn_combine_hsv(void);
+void register_node_type_fn_separate_hsv(void);
#ifdef __cplusplus
}
diff --git a/source/blender/nodes/NOD_static_types.h b/source/blender/nodes/NOD_static_types.h
index db3d6d726bb..b9a8d1000ee 100644
--- a/source/blender/nodes/NOD_static_types.h
+++ b/source/blender/nodes/NOD_static_types.h
@@ -272,6 +272,11 @@ DefNode(SimulationNode, SIM_NODE_SIMULATION_TIME, 0, "SIMULA
DefNode(SimulationNode, SIM_NODE_PARTICLE_ATTRIBUTE, 0, "PARTICLE_ATTRIBUTE", ParticleAttribute, "Particle Attribute", "")
DefNode(FunctionNode, FN_NODE_COMBINE_XYZ, 0, "COMBINE_XYZ", CombineXYZ, "Combine XYZ", "")
+DefNode(FunctionNode, FN_NODE_SEPARATE_XYZ, 0, "SEPARATE_XYZ", SeparateXYZ, "Separate XYZ", "")
+DefNode(FunctionNode, FN_NODE_COMBINE_RGB, 0, "COMBINE_RGB", CombineRGB, "Combine RGB", "")
+DefNode(FunctionNode, FN_NODE_SEPARATE_RGB, 0, "SEPARATE_RGB", SeparateRGB, "Separate RGB", "")
+DefNode(FunctionNode, FN_NODE_COMBINE_HSV, 0, "COMBINE_HSV", CombineHSV, "Combine HSV", "")
+DefNode(FunctionNode, FN_NODE_SEPARATE_HSV, 0, "SEPARATE_HSV", SeparateHSV, "Separate HSV", "")
/* undefine macros */
#undef DefNode
diff --git a/source/blender/nodes/function/nodes/node_fn_combine_hsv.cc b/source/blender/nodes/function/nodes/node_fn_combine_hsv.cc
new file mode 100644
index 00000000000..b564373f78e
--- /dev/null
+++ b/source/blender/nodes/function/nodes/node_fn_combine_hsv.cc
@@ -0,0 +1,22 @@
+#include "node_fn_util.h"
+
+static bNodeSocketTemplate fn_node_combine_hsv_in[] = {
+ {SOCK_FLOAT, N_("H"), 0.0f, 0.0f, 0.0f, 0.0f, -10000.0f, 10000.0f},
+ {SOCK_FLOAT, N_("S"), 0.0f, 0.0f, 0.0f, 0.0f, -10000.0f, 10000.0f},
+ {SOCK_FLOAT, N_("V"), 0.0f, 0.0f, 0.0f, 0.0f, -10000.0f, 10000.0f},
+ {-1, ""},
+};
+
+static bNodeSocketTemplate fn_node_combine_hsv_out[] = {
+ {SOCK_RGBA, N_("Color")},
+ {-1, ""},
+};
+
+void register_node_type_fn_combine_hsv()
+{
+ static bNodeType ntype;
+
+ fn_node_type_base(&ntype, FN_NODE_COMBINE_HSV, "Combine HSV", 0, 0);
+ node_type_socket_templates(&ntype, fn_node_combine_hsv_in, fn_node_combine_hsv_out);
+ nodeRegisterType(&ntype);
+}
diff --git a/source/blender/nodes/function/nodes/node_fn_combine_rgb.cc b/source/blender/nodes/function/nodes/node_fn_combine_rgb.cc
new file mode 100644
index 00000000000..6c9a4462761
--- /dev/null
+++ b/source/blender/nodes/function/nodes/node_fn_combine_rgb.cc
@@ -0,0 +1,22 @@
+#include "node_fn_util.h"
+
+static bNodeSocketTemplate fn_node_combine_rgb_in[] = {
+ {SOCK_FLOAT, N_("R"), 0.0f, 0.0f, 0.0f, 0.0f, -10000.0f, 10000.0f},
+ {SOCK_FLOAT, N_("G"), 0.0f, 0.0f, 0.0f, 0.0f, -10000.0f, 10000.0f},
+ {SOCK_FLOAT, N_("B"), 0.0f, 0.0f, 0.0f, 0.0f, -10000.0f, 10000.0f},
+ {-1, ""},
+};
+
+static bNodeSocketTemplate fn_node_combine_rgb_out[] = {
+ {SOCK_RGBA, N_("Color")},
+ {-1, ""},
+};
+
+void register_node_type_fn_combine_rgb()
+{
+ static bNodeType ntype;
+
+ fn_node_type_base(&ntype, FN_NODE_COMBINE_RGB, "Combine RGB", 0, 0);
+ node_type_socket_templates(&ntype, fn_node_combine_rgb_in, fn_node_combine_rgb_out);
+ nodeRegisterType(&ntype);
+}
diff --git a/source/blender/nodes/function/nodes/node_fn_separate_hsv.cc b/source/blender/nodes/function/nodes/node_fn_separate_hsv.cc
new file mode 100644
index 00000000000..0e6bbda50d7
--- /dev/null
+++ b/source/blender/nodes/function/nodes/node_fn_separate_hsv.cc
@@ -0,0 +1,22 @@
+#include "node_fn_util.h"
+
+static bNodeSocketTemplate fn_node_separate_hsv_in[] = {
+ {SOCK_RGBA, N_("Color")},
+ {-1, ""},
+};
+
+static bNodeSocketTemplate fn_node_separate_hsv_out[] = {
+ {SOCK_FLOAT, N_("H")},
+ {SOCK_FLOAT, N_("S")},
+ {SOCK_FLOAT, N_("V")},
+ {-1, ""},
+};
+
+void register_node_type_fn_separate_hsv()
+{
+ static bNodeType ntype;
+
+ fn_node_type_base(&ntype, FN_NODE_SEPARATE_HSV, "Separate HSV", 0, 0);
+ node_type_socket_templates(&ntype, fn_node_separate_hsv_in, fn_node_separate_hsv_out);
+ nodeRegisterType(&ntype);
+}
diff --git a/source/blender/nodes/function/nodes/node_fn_separate_rgb.cc b/source/blender/nodes/function/nodes/node_fn_separate_rgb.cc
new file mode 100644
index 00000000000..e0787e6e19a
--- /dev/null
+++ b/source/blender/nodes/function/nodes/node_fn_separate_rgb.cc
@@ -0,0 +1,22 @@
+#include "node_fn_util.h"
+
+static bNodeSocketTemplate fn_node_separate_rgb_in[] = {
+ {SOCK_RGBA, N_("Color")},
+ {-1, ""},
+};
+
+static bNodeSocketTemplate fn_node_separate_rgb_out[] = {
+ {SOCK_FLOAT, N_("R")},
+ {SOCK_FLOAT, N_("G")},
+ {SOCK_FLOAT, N_("B")},
+ {-1, ""},
+};
+
+void register_node_type_fn_separate_rgb()
+{
+ static bNodeType ntype;
+
+ fn_node_type_base(&ntype, FN_NODE_SEPARATE_RGB, "Separate RGB", 0, 0);
+ node_type_socket_templates(&ntype, fn_node_separate_rgb_in, fn_node_separate_rgb_out);
+ nodeRegisterType(&ntype);
+}
diff --git a/source/blender/nodes/function/nodes/node_fn_separate_xyz.cc b/source/blender/nodes/function/nodes/node_fn_separate_xyz.cc
new file mode 100644
index 00000000000..b0f1c2e09f4
--- /dev/null
+++ b/source/blender/nodes/function/nodes/node_fn_separate_xyz.cc
@@ -0,0 +1,22 @@
+#include "node_fn_util.h"
+
+static bNodeSocketTemplate fn_node_separate_xyz_in[] = {
+ {SOCK_VECTOR, N_("Vector")},
+ {-1, ""},
+};
+
+static bNodeSocketTemplate fn_node_separate_xyz_out[] = {
+ {SOCK_FLOAT, N_("X")},
+ {SOCK_FLOAT, N_("Y")},
+ {SOCK_FLOAT, N_("Z")},
+ {-1, ""},
+};
+
+void register_node_type_fn_separate_xyz()
+{
+ static bNodeType ntype;
+
+ fn_node_type_base(&ntype, FN_NODE_SEPARATE_XYZ, "Separate XYZ", 0, 0);
+ node_type_socket_templates(&ntype, fn_node_separate_xyz_in, fn_node_separate_xyz_out);
+ nodeRegisterType(&ntype);
+}
More information about the Bf-blender-cvs
mailing list