TerraForge3D  2.3.1
3D Terrain And Landscape Generator

◆ OnRender()

void NoiseOpenSimplex2SNode::OnRender ( )
virtual

Implements NodeEditorNode.

Definition at line 143 of file NoiseOpenSimplex2SNode.cpp.

144{
145 DrawHeader("Open Simplex 2S Noise");
146 ImGui::Dummy(ImVec2(150, 10));
147 ImGui::SameLine();
148 ImGui::Text("Out");
149 outputPins[0]->Render();
150 inputPins[0]->Render();
151 ImGui::Text("Seed");
152
153 if (!inputPins[0]->IsLinked())
154 {
155 ImGui::Dummy(ImVec2(30, 10));
156 ImGui::SameLine();
157 ImGui::PushItemWidth(100);
158 ImGui::DragInt(MAKE_IMGUI_ID(inputPins[0]->id), &seed, 1);
159 ImGui::PopItemWidth();
160 }
161
162 else
163 {
164 ImGui::NewLine();
165 }
166
167 inputPins[1]->Render();
168 ImGui::Text("Octaves");
169
170 if (!inputPins[1]->IsLinked())
171 {
172 ImGui::Dummy(ImVec2(30, 10));
173 ImGui::SameLine();
174 ImGui::PushItemWidth(100);
175 ImGui::DragInt(MAKE_IMGUI_ID(inputPins[1]->id), &octaves, 1);
176 ImGui::PopItemWidth();
177 }
178
179 else
180 {
181 ImGui::NewLine();
182 }
183
184 inputPins[2]->Render();
185 ImGui::Text("Frequency");
186
187 if (!inputPins[2]->IsLinked())
188 {
189 ImGui::Dummy(ImVec2(30, 10));
190 ImGui::SameLine();
191 ImGui::PushItemWidth(100);
192 ImGui::DragFloat(MAKE_IMGUI_ID(inputPins[2]->id), &frequency, 0.001f);
193 ImGui::PopItemWidth();
194 }
195
196 else
197 {
198 ImGui::NewLine();
199 }
200
201 inputPins[3]->Render();
202 ImGui::Text("Lacunarity");
203
204 if (!inputPins[3]->IsLinked())
205 {
206 ImGui::Dummy(ImVec2(30, 10));
207 ImGui::SameLine();
208 ImGui::PushItemWidth(100);
209 ImGui::DragFloat(MAKE_IMGUI_ID(inputPins[3]->id), &lacunarity, 0.01f);
210 ImGui::PopItemWidth();
211 }
212
213 else
214 {
215 ImGui::NewLine();
216 }
217
218 inputPins[4]->Render();
219 ImGui::Text("Gain");
220
221 if (!inputPins[4]->IsLinked())
222 {
223 ImGui::Dummy(ImVec2(30, 10));
224 ImGui::SameLine();
225 ImGui::PushItemWidth(100);
226 ImGui::DragFloat(MAKE_IMGUI_ID(inputPins[4]->id), &gain, 0.01f);
227 ImGui::PopItemWidth();
228 }
229
230 else
231 {
232 ImGui::NewLine();
233 }
234
235 inputPins[5]->Render();
236 ImGui::Text("Weighted Strength");
237
238 if (!inputPins[5]->IsLinked())
239 {
240 ImGui::Dummy(ImVec2(30, 10));
241 ImGui::SameLine();
242 ImGui::PushItemWidth(100);
243 ImGui::DragFloat(MAKE_IMGUI_ID(inputPins[5]->id), &weightedStrength, 0.01f, 0, 1);
244 ImGui::PopItemWidth();
245 }
246
247 else
248 {
249 ImGui::NewLine();
250 }
251
252 inputPins[6]->Render();
253 ImGui::Text("Ping Pong Strength");
254
255 if (!inputPins[6]->IsLinked())
256 {
257 ImGui::Dummy(ImVec2(30, 10));
258 ImGui::SameLine();
259 ImGui::PushItemWidth(100);
260 ImGui::DragFloat(MAKE_IMGUI_ID(inputPins[6]->id), &pingPongStrength, 0.01f);
261 ImGui::PopItemWidth();
262 }
263
264 else
265 {
266 ImGui::NewLine();
267 }
268
269 inputPins[7]->Render();
270 ImGui::Text("Strength");
271
272 if (!inputPins[7]->IsLinked())
273 {
274 ImGui::Dummy(ImVec2(30, 10));
275 ImGui::SameLine();
276 ImGui::PushItemWidth(100);
277 ImGui::DragFloat(MAKE_IMGUI_ID(inputPins[7]->id), &strength, 0.01f);
278 ImGui::PopItemWidth();
279 }
280
281 else
282 {
283 ImGui::NewLine();
284 }
285
286 ImGui::NewLine();
287 ImGui::Text("Current Fractal Type : ");
288 ImGui::SameLine();
289 ImGui::Text(fractalTypes[fractalType]);
290
291 if (ImGui::Button(MAKE_IMGUI_LABEL(id, "Change Fractal Type")))
292 {
293 fractalType++;
294
295 if (fractalType == 4)
296 {
297 fractalType = 0;
298 }
299 }
300}