From 2dd07499241638e66ee0df97cba91219f5599151 Mon Sep 17 00:00:00 2001 From: hachem Date: Fri, 22 Aug 2025 04:31:37 +0200 Subject: feat: volumetric cloud rendering --- src/states/simulation_state.cpp | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) (limited to 'src/states/simulation_state.cpp') diff --git a/src/states/simulation_state.cpp b/src/states/simulation_state.cpp index 41f7b36..5c75569 100644 --- a/src/states/simulation_state.cpp +++ b/src/states/simulation_state.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 disk_thickness = engine.get_disk_thickness(); + if (ImGui::SliderFloat("Cloud Thickness", &disk_thickness, 0.1f, 2.0f, "%.2f")) + { + engine.set_disk_thickness(disk_thickness); + } + ImGui::TextDisabled("Thickness relative to Schwarzschild radius"); + + float disk_density = engine.get_disk_density(); + if (ImGui::SliderFloat("Cloud Density", &disk_density, 0.1f, 3.0f, "%.2f")) + { + engine.set_disk_density(disk_density); + } + ImGui::TextDisabled("Overall density multiplier"); + + float rotation_speed = engine.get_rotation_speed(); + if (ImGui::SliderFloat("Rotation Speed", &rotation_speed, 0.0f, 3.0f, "%.2f")) + { + engine.set_rotation_speed(rotation_speed); + } + ImGui::TextDisabled("Rotation speed multiplier (0 = no rotation)"); + + ImGui::Spacing(); + ImGui::TextColored(ImVec4(0.9f, 0.9f, 1.0f, 1.0f), "Camera"); ImGui::Separator(); -- cgit v1.3