Changeset View
Changeset View
Standalone View
Standalone View
source/blender/nodes/shader/nodes/node_shader_tex_musgrave.cc
| Show First 20 Lines • Show All 193 Lines • ▼ Show 20 Lines | static fn::MFSignature create_signature(const int dimensions, const int musgrave_type) | ||||
| signature.single_output<float>("Fac"); | signature.single_output<float>("Fac"); | ||||
| return signature.build(); | return signature.build(); | ||||
| } | } | ||||
| void call(IndexMask mask, fn::MFParams params, fn::MFContext UNUSED(context)) const override | void call(IndexMask mask, fn::MFParams params, fn::MFContext UNUSED(context)) const override | ||||
| { | { | ||||
| auto get_vector = [&](int param_index) -> const VArray<float3> & { | auto get_vector = [&](int param_index) -> VArray<float3> { | ||||
| return params.readonly_single_input<float3>(param_index, "Vector"); | return params.readonly_single_input<float3>(param_index, "Vector"); | ||||
| }; | }; | ||||
| auto get_w = [&](int param_index) -> const VArray<float> & { | auto get_w = [&](int param_index) -> VArray<float> { | ||||
| return params.readonly_single_input<float>(param_index, "W"); | return params.readonly_single_input<float>(param_index, "W"); | ||||
| }; | }; | ||||
| auto get_scale = [&](int param_index) -> const VArray<float> & { | auto get_scale = [&](int param_index) -> VArray<float> { | ||||
| return params.readonly_single_input<float>(param_index, "Scale"); | return params.readonly_single_input<float>(param_index, "Scale"); | ||||
| }; | }; | ||||
| auto get_detail = [&](int param_index) -> const VArray<float> & { | auto get_detail = [&](int param_index) -> VArray<float> { | ||||
| return params.readonly_single_input<float>(param_index, "Detail"); | return params.readonly_single_input<float>(param_index, "Detail"); | ||||
| }; | }; | ||||
| auto get_dimension = [&](int param_index) -> const VArray<float> & { | auto get_dimension = [&](int param_index) -> VArray<float> { | ||||
| return params.readonly_single_input<float>(param_index, "Dimension"); | return params.readonly_single_input<float>(param_index, "Dimension"); | ||||
| }; | }; | ||||
| auto get_lacunarity = [&](int param_index) -> const VArray<float> & { | auto get_lacunarity = [&](int param_index) -> VArray<float> { | ||||
| return params.readonly_single_input<float>(param_index, "Lacunarity"); | return params.readonly_single_input<float>(param_index, "Lacunarity"); | ||||
| }; | }; | ||||
| auto get_offset = [&](int param_index) -> const VArray<float> & { | auto get_offset = [&](int param_index) -> VArray<float> { | ||||
| return params.readonly_single_input<float>(param_index, "Offset"); | return params.readonly_single_input<float>(param_index, "Offset"); | ||||
| }; | }; | ||||
| auto get_gain = [&](int param_index) -> const VArray<float> & { | auto get_gain = [&](int param_index) -> VArray<float> { | ||||
| return params.readonly_single_input<float>(param_index, "Gain"); | return params.readonly_single_input<float>(param_index, "Gain"); | ||||
| }; | }; | ||||
| auto get_r_factor = [&](int param_index) -> MutableSpan<float> { | auto get_r_factor = [&](int param_index) -> MutableSpan<float> { | ||||
| return params.uninitialized_single_output_if_required<float>(param_index, "Fac"); | return params.uninitialized_single_output_if_required<float>(param_index, "Fac"); | ||||
| }; | }; | ||||
| int param = ELEM(dimensions_, 2, 3, 4) + ELEM(dimensions_, 1, 4); | int param = ELEM(dimensions_, 2, 3, 4) + ELEM(dimensions_, 1, 4); | ||||
| ▲ Show 20 Lines • Show All 316 Lines • Show Last 20 Lines | |||||