From 107231eb956a953c89a2ab134371988ebe338c59 Mon Sep 17 00:00:00 2001 From: Jacques Lucke Date: Thu, 3 Dec 2020 16:25:48 +0100 Subject: Geometry Nodes: improve support for Color attributes * Add typed attribute accessors for color attributes. * Support implicit conversions between colors and floats. --- source/blender/nodes/NOD_geometry_exec.hh | 2 ++ source/blender/nodes/intern/node_tree_multi_function.cc | 4 ++++ 2 files changed, 6 insertions(+) (limited to 'source/blender/nodes') diff --git a/source/blender/nodes/NOD_geometry_exec.hh b/source/blender/nodes/NOD_geometry_exec.hh index 2b95f76d06b..fde576d7429 100644 --- a/source/blender/nodes/NOD_geometry_exec.hh +++ b/source/blender/nodes/NOD_geometry_exec.hh @@ -26,6 +26,8 @@ namespace blender::nodes { +using bke::Color4fReadAttribute; +using bke::Color4fWriteAttribute; using bke::Float3ReadAttribute; using bke::Float3WriteAttribute; using bke::FloatReadAttribute; diff --git a/source/blender/nodes/intern/node_tree_multi_function.cc b/source/blender/nodes/intern/node_tree_multi_function.cc index 8440e996651..ec5527a2970 100644 --- a/source/blender/nodes/intern/node_tree_multi_function.cc +++ b/source/blender/nodes/intern/node_tree_multi_function.cc @@ -204,6 +204,10 @@ static DataTypeConversions create_implicit_conversions() conversions, "float3 to Color4f", [](float3 a) { return Color4f(a.x, a.y, a.z, 1.0f); }); add_implicit_conversion( conversions, "Color4f to float3", [](Color4f a) { return float3(a.r, a.g, a.b); }); + add_implicit_conversion( + conversions, "float to Color4f", [](float a) { return Color4f(a, a, a, 1.0f); }); + add_implicit_conversion( + conversions, "Color4f to float", [](Color4f a) { return rgb_to_grayscale(a); }); return conversions; } -- cgit v1.2.3