[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