[Bf-blender-cvs] [dc37990e24e] master: Geometry Nodes: Add Image Socket to Switch Node

Johnny Matthews noreply at git.blender.org
Wed Oct 27 16:04:06 CEST 2021


Commit: dc37990e24eb801e3ff9f9f0f42d364a0af0389e
Author: Johnny Matthews
Date:   Wed Oct 27 09:03:29 2021 -0500
Branches: master
https://developer.blender.org/rBdc37990e24eb801e3ff9f9f0f42d364a0af0389e

Geometry Nodes: Add Image Socket to Switch Node

Add the image type to the switch node without field support.

Differential Revision: https://developer.blender.org/D13012

===================================================================

M	source/blender/makesrna/intern/rna_nodetree.c
M	source/blender/nodes/geometry/nodes/node_geo_switch.cc

===================================================================

diff --git a/source/blender/makesrna/intern/rna_nodetree.c b/source/blender/makesrna/intern/rna_nodetree.c
index 8535d334f39..6a36ef07dee 100644
--- a/source/blender/makesrna/intern/rna_nodetree.c
+++ b/source/blender/makesrna/intern/rna_nodetree.c
@@ -2056,7 +2056,8 @@ static bool switch_type_supported(const EnumPropertyItem *item)
               SOCK_OBJECT,
               SOCK_COLLECTION,
               SOCK_TEXTURE,
-              SOCK_MATERIAL);
+              SOCK_MATERIAL,
+              SOCK_IMAGE);
 }
 
 static const EnumPropertyItem *rna_GeometryNodeSwitch_type_itemf(bContext *UNUSED(C),
diff --git a/source/blender/nodes/geometry/nodes/node_geo_switch.cc b/source/blender/nodes/geometry/nodes/node_geo_switch.cc
index c01fcf5bb5f..28faf217f64 100644
--- a/source/blender/nodes/geometry/nodes/node_geo_switch.cc
+++ b/source/blender/nodes/geometry/nodes/node_geo_switch.cc
@@ -60,6 +60,8 @@ static void geo_node_switch_declare(NodeDeclarationBuilder &b)
   b.add_input<decl::Texture>("True", "True_009");
   b.add_input<decl::Material>("False", "False_010");
   b.add_input<decl::Material>("True", "True_010");
+  b.add_input<decl::Image>("False", "False_011");
+  b.add_input<decl::Image>("True", "True_011");
 
   b.add_output<decl::Float>("Output").dependent_field();
   b.add_output<decl::Int>("Output", "Output_001").dependent_field();
@@ -72,6 +74,7 @@ static void geo_node_switch_declare(NodeDeclarationBuilder &b)
   b.add_output<decl::Collection>("Output", "Output_008");
   b.add_output<decl::Texture>("Output", "Output_009");
   b.add_output<decl::Material>("Output", "Output_010");
+  b.add_output<decl::Image>("Output", "Output_011");
 }
 
 static void geo_node_switch_layout(uiLayout *layout, bContext *UNUSED(C), PointerRNA *ptr)
@@ -274,6 +277,10 @@ static void geo_node_switch_exec(GeoNodeExecParams params)
       switch_no_fields<Material *>(params, "_010");
       break;
     }
+    case SOCK_IMAGE: {
+      switch_no_fields<Image *>(params, "_011");
+      break;
+    }
     default:
       BLI_assert_unreachable();
       break;



More information about the Bf-blender-cvs mailing list