[Bf-blender-cvs] [ada173ebfd6] master: Particles: simplify Combine XYZ node

Jacques Lucke noreply at git.blender.org
Thu Jul 16 16:09:36 CEST 2020


Commit: ada173ebfd6b141934791950867dbaae33e6d22a
Author: Jacques Lucke
Date:   Thu Jul 16 15:54:18 2020 +0200
Branches: master
https://developer.blender.org/rBada173ebfd6b141934791950867dbaae33e6d22a

Particles: simplify Combine XYZ node

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

M	source/blender/nodes/shader/nodes/node_shader_sepcombXYZ.cc

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

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<float>("X");
-    signature.single_input<float>("Y");
-    signature.single_input<float>("Z");
-    signature.single_output<blender::float3>("XYZ");
-  }
-
-  void call(blender::IndexMask mask,
-            blender::fn::MFParams params,
-            blender::fn::MFContext UNUSED(context)) const override
-  {
-    blender::fn::VSpan<float> xs = params.readonly_single_input<float>(0, "X");
-    blender::fn::VSpan<float> ys = params.readonly_single_input<float>(1, "Y");
-    blender::fn::VSpan<float> zs = params.readonly_single_input<float>(2, "Z");
-    blender::MutableSpan<blender::float3> vectors =
-        params.uninitialized_single_output<blender::float3>(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<float, float, float, blender::float3> 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)



More information about the Bf-blender-cvs mailing list