From ada173ebfd6b141934791950867dbaae33e6d22a Mon Sep 17 00:00:00 2001 From: Jacques Lucke Date: Thu, 16 Jul 2020 15:54:18 +0200 Subject: Particles: simplify Combine XYZ node --- .../nodes/shader/nodes/node_shader_sepcombXYZ.cc | 32 ++-------------------- 1 file changed, 3 insertions(+), 29 deletions(-) diff --git a/source/blender/nodes/shader/nodes/node_shader_sepcombXYZ.cc b/source/blender/nodes/shader/nodes/node_shader_sepcombXYZ.cc index 4dbe10f3982..d9af37ab46b 100644 --- a/source/blender/nodes/shader/nodes/node_shader_sepcombXYZ.cc +++ b/source/blender/nodes/shader/nodes/node_shader_sepcombXYZ.cc @@ -113,37 +113,11 @@ static int gpu_shader_combxyz(GPUMaterial *mat, return GPU_stack_link(mat, node, "combine_xyz", in, out); } -class MF_CombineXYZ : public blender::fn::MultiFunction { - public: - MF_CombineXYZ() - { - blender::fn::MFSignatureBuilder signature = this->get_builder("Combine XYZ"); - signature.single_input("X"); - signature.single_input("Y"); - signature.single_input("Z"); - signature.single_output("XYZ"); - } - - void call(blender::IndexMask mask, - blender::fn::MFParams params, - blender::fn::MFContext UNUSED(context)) const override - { - blender::fn::VSpan xs = params.readonly_single_input(0, "X"); - blender::fn::VSpan ys = params.readonly_single_input(1, "Y"); - blender::fn::VSpan zs = params.readonly_single_input(2, "Z"); - blender::MutableSpan vectors = - params.uninitialized_single_output(3, "XYZ"); - - for (uint i : mask) { - vectors[i] = {xs[i], ys[i], zs[i]}; - } - } -}; - static void sh_node_combxyz_expand_in_mf_network(blender::bke::NodeMFNetworkBuilder &builder) { - static MF_CombineXYZ combine_fn; - builder.set_matching_fn(combine_fn); + static blender::fn::CustomMF_SI_SI_SI_SO fn{ + "Combine Vector", [](float x, float y, float z) { return blender::float3(x, y, z); }}; + builder.set_matching_fn(fn); } void register_node_type_sh_combxyz(void) -- cgit v1.2.3