Geometry Nodes: Add Texture and Material options to switch node

These new socket types can be supported in the switch node
along with the others.

Differential Revision: https://developer.blender.org/D11560
This commit is contained in:
Eitan 2021-06-10 10:16:37 -05:00 committed by Hans Goudey
parent bcefce33f2
commit 53c98e45cf
2 changed files with 17 additions and 1 deletions

View File

@ -1985,7 +1985,9 @@ static bool switch_type_supported(const EnumPropertyItem *item)
SOCK_RGBA,
SOCK_GEOMETRY,
SOCK_OBJECT,
SOCK_COLLECTION);
SOCK_COLLECTION,
SOCK_TEXTURE,
SOCK_MATERIAL);
}
static const EnumPropertyItem *rna_GeometryNodeSwitch_type_itemf(bContext *UNUSED(C),

View File

@ -40,6 +40,10 @@ static bNodeSocketTemplate geo_node_switch_in[] = {
{SOCK_OBJECT, N_("True")},
{SOCK_COLLECTION, N_("False")},
{SOCK_COLLECTION, N_("True")},
{SOCK_TEXTURE, N_("False")},
{SOCK_TEXTURE, N_("True")},
{SOCK_MATERIAL, N_("False")},
{SOCK_MATERIAL, N_("True")},
{-1, ""},
};
@ -53,6 +57,8 @@ static bNodeSocketTemplate geo_node_switch_out[] = {
{SOCK_GEOMETRY, N_("Output")},
{SOCK_OBJECT, N_("Output")},
{SOCK_COLLECTION, N_("Output")},
{SOCK_TEXTURE, N_("Output")},
{SOCK_MATERIAL, N_("Output")},
{-1, ""},
};
@ -153,6 +159,14 @@ static void geo_node_switch_exec(GeoNodeExecParams params)
output_input<Collection *>(params, input, "_008", "Output_008");
break;
}
case SOCK_TEXTURE: {
output_input<Tex *>(params, input, "_009", "Output_009");
break;
}
case SOCK_MATERIAL: {
output_input<Material *>(params, input, "_010", "Output_010");
break;
}
default:
BLI_assert_unreachable();
break;