hachem.wtf
aboutsummaryrefslogtreecommitdiff
path: root/src/engine/engine.h
diff options
context:
space:
mode:
authorhachem <im@hachem.wtf>2025-08-22 04:31:37 +0200
committerhachem <im@hachem.wtf>2025-08-22 04:31:37 +0200
commit2dd07499241638e66ee0df97cba91219f5599151 (patch)
tree443d39d8cec967a0d01502a60d7de23e2c5304fe /src/engine/engine.h
parent0d4f5f665f2e4b735fb4f978acc6c8d4a16fcb5d (diff)
feat: volumetric cloud rendering
Diffstat (limited to 'src/engine/engine.h')
-rw-r--r--src/engine/engine.h17
1 files changed, 15 insertions, 2 deletions
diff --git a/src/engine/engine.h b/src/engine/engine.h
index fab895e..524f1a7 100644
--- a/src/engine/engine.h
+++ b/src/engine/engine.h
@@ -100,6 +100,15 @@ namespace Donut
void set_max_steps_static(int steps) { m_max_steps_static = steps; }
void set_early_exit_distance(float distance) { m_early_exit_distance = distance; }
+ float get_disk_thickness() const { return m_disk_thickness; }
+ void set_disk_thickness(float thickness) { m_disk_thickness = thickness; }
+
+ float get_disk_density() const { return m_disk_density; }
+ void set_disk_density(float density) { m_disk_density = density; }
+
+ float get_rotation_speed() const { return m_rotation_speed; }
+ void set_rotation_speed(float speed) { m_rotation_speed = speed; }
+
void load_objects_from_scene(const std::vector<Donut::Object>& objects);
void export_high_res_frame(const std::string& filename, int width = 4096, int height = 3072);
void print_object_info() const;
@@ -131,8 +140,12 @@ namespace Donut
Camera m_camera;
bool m_gravity = false;
- int m_max_steps_moving = 60000;
- int m_max_steps_static = 30000;
+ int m_max_steps_moving = 60000;
+ int m_max_steps_static = 30000;
float m_early_exit_distance = 5e11f;
+
+ float m_disk_thickness = 0.1;
+ float m_disk_density = 1.2f;
+ float m_rotation_speed = 1.0f;
};
};