9{
10 if(!inputPins[0]->IsLinked())
11 {
12 noiseGen->SetSeed(seed);
13 }
14
15 else
16 {
17 noiseGen->SetSeed((int)inputPins[0]->other->Evaluate(input).value);
18 }
19
20 if (!inputPins[2]->IsLinked())
21 {
22 noiseGen->SetFrequency(frequency);
23 }
24
25 else
26 {
27 noiseGen->SetFrequency(inputPins[2]->other->Evaluate(input).value);
28 }
29
30 if(fractalType == 0)
31 {
32 noiseGen->SetFractalType(FastNoiseLite::FractalType::FractalType_None);
33 }
34
35 else if (fractalType == 1)
36 {
37 noiseGen->SetFractalType(FastNoiseLite::FractalType::FractalType_FBm);
38 }
39
40 else if (fractalType == 2)
41 {
42 noiseGen->SetFractalType(FastNoiseLite::FractalType::FractalType_Ridged);
43 }
44
45 else if (fractalType == 3)
46 {
47 noiseGen->SetFractalType(FastNoiseLite::FractalType::FractalType_PingPong);
48 }
49
50 else
51 {
52 noiseGen->SetFractalType(FastNoiseLite::FractalType::FractalType_None);
53 }
54
55 if (!inputPins[1]->IsLinked())
56 {
57 noiseGen->SetFractalOctaves(octaves);
58 }
59
60 else
61 {
62 noiseGen->SetFrequency(inputPins[1]->other->Evaluate(input).value);
63 }
64
65 if (!inputPins[3]->IsLinked())
66 {
67 noiseGen->SetFractalLacunarity(lacunarity);
68 }
69
70 else
71 {
72 noiseGen->SetFractalLacunarity(inputPins[3]->other->Evaluate(input).value);
73 }
74
75 if (!inputPins[4]->IsLinked())
76 {
77 noiseGen->SetFractalGain(gain);
78 }
79
80 else
81 {
82 noiseGen->SetFractalGain(inputPins[4]->other->Evaluate(input).value);
83 }
84
85 if (!inputPins[5]->IsLinked())
86 {
87 noiseGen->SetFractalWeightedStrength(weightedStrength);
88 }
89
90 else
91 {
92 noiseGen->SetFractalWeightedStrength(inputPins[5]->other->Evaluate(input).value);
93 }
94
95 if (!inputPins[6]->IsLinked())
96 {
97 noiseGen->SetFractalPingPongStrength(pingPongStrength);
98 }
99
100 else
101 {
102 noiseGen->SetFractalPingPongStrength(inputPins[6]->other->Evaluate(input).value);
103 }
104
105 if (!inputPins[8]->IsLinked())
106 {
107 noiseGen->SetCellularJitter(cellularJitter);
108 }
109
110 else
111 {
112 noiseGen->SetCellularJitter(inputPins[8]->other->Evaluate(input).value);
113 }
114
115 float st = strength;
116
117 if (inputPins[7]->IsLinked())
118 {
119 st = inputPins[7]->other->Evaluate(input).value;
120 }
121
122 return NodeOutput({ noiseGen->GetNoise(input.x, input.y, input.z) * st });
123}