diff options
| author | hachem <im@hachem.wtf> | 2025-08-22 04:31:37 +0200 |
|---|---|---|
| committer | hachem <im@hachem.wtf> | 2025-08-22 04:31:37 +0200 |
| commit | f469a1d1e8413e07f3e3033e719161ffd17fe463 (patch) | |
| tree | 7cae9d4df3ee1fa7e16e9db5ca926c3527e549b9 /src/States/SimulationState.cpp | |
| parent | 01fadbecbed89afffb18b2cf5cf3972845a7a169 (diff) | |
[add]: volumetric cloud rendering
Diffstat (limited to 'src/States/SimulationState.cpp')
| -rw-r--r-- | src/States/SimulationState.cpp | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/src/States/SimulationState.cpp b/src/States/SimulationState.cpp index d961f9e..28504e6 100644 --- a/src/States/SimulationState.cpp +++ b/src/States/SimulationState.cpp @@ -220,6 +220,32 @@ namespace Donut ImGui::Spacing(); + ImGui::TextColored(ImVec4(0.9f, 0.9f, 1.0f, 1.0f), "Accretion Disk"); + ImGui::Separator(); + + float diskThickness = engine.GetDiskThickness(); + if (ImGui::SliderFloat("Cloud Thickness", &diskThickness, 0.1f, 2.0f, "%.2f")) + { + engine.SetDiskThickness(diskThickness); + } + ImGui::TextDisabled("Thickness relative to Schwarzschild radius"); + + float diskDensity = engine.GetDiskDensity(); + if (ImGui::SliderFloat("Cloud Density", &diskDensity, 0.1f, 3.0f, "%.2f")) + { + engine.SetDiskDensity(diskDensity); + } + ImGui::TextDisabled("Overall density multiplier"); + + float rotationSpeed = engine.GetRotationSpeed(); + if (ImGui::SliderFloat("Rotation Speed", &rotationSpeed, 0.0f, 3.0f, "%.2f")) + { + engine.SetRotationSpeed(rotationSpeed); + } + ImGui::TextDisabled("Rotation speed multiplier (0 = no rotation)"); + + ImGui::Spacing(); + ImGui::TextColored(ImVec4(0.9f, 0.9f, 1.0f, 1.0f), "Camera"); ImGui::Separator(); |
