Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJacques Lucke <jacques@blender.org>2020-07-16 16:54:18 +0300
committerJacques Lucke <jacques@blender.org>2020-07-16 17:09:19 +0300
commitada173ebfd6b141934791950867dbaae33e6d22a (patch)
tree88e07e940b835bec4cd0b69b2a27c7bb91b3aa44
parent72df7c23c4b5a7ac732cc224ded1fc93a0facb8c (diff)
Particles: simplify Combine XYZ node
-rw-r--r--source/blender/nodes/shader/nodes/node_shader_sepcombXYZ.cc32
1 files 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<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)