hachem.wtf
aboutsummaryrefslogtreecommitdiff
path: root/src/states/simulation_state.cpp
diff options
context:
space:
mode:
authorhachem <im@hachem.wtf>2025-08-16 15:36:25 +0200
committerhachem <im@hachem.wtf>2025-08-16 15:36:25 +0200
commit8f906c3139a813b9a829821944b464b3facdad59 (patch)
treebb516369660344b254dc504ef28a079920e1d6f9 /src/states/simulation_state.cpp
parenta6655eebe2a69ee427264bd43df5747851ed96df (diff)
fix: first optimization
Diffstat (limited to 'src/states/simulation_state.cpp')
-rw-r--r--src/states/simulation_state.cpp13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/states/simulation_state.cpp b/src/states/simulation_state.cpp
index e59f1fa..ecb2898 100644
--- a/src/states/simulation_state.cpp
+++ b/src/states/simulation_state.cpp
@@ -124,6 +124,19 @@ namespace Donut
ImGui::Separator();
+ ImGui::Text("Simulation Quality:");
+ int max_steps_moving = m_engine.get_max_steps_moving();
+ if (ImGui::SliderInt("Max Steps (Moving)", &max_steps_moving, 1000, 60000))
+ m_engine.set_max_steps_moving(max_steps_moving);
+ int max_steps_static = m_engine.get_max_steps_static();
+ if (ImGui::SliderInt("Max Steps (Static)", &max_steps_static, 1000, 30000))
+ m_engine.set_max_steps_static(max_steps_static);
+ float early_exit_distance = m_engine.get_early_exit_distance();
+ if (ImGui::SliderFloat("Early Exit Distance", &early_exit_distance, 1e11f, 1e13f, "%.2e"))
+ m_engine.set_early_exit_distance(early_exit_distance);
+
+ ImGui::Separator();
+
ImGui::Text("Controls:");
ImGui::Text("Left Mouse: Orbit camera");
ImGui::Text("Scroll: Zoom in/out");