diff options
| author | hachem <im@hachem.wtf> | 2025-08-22 12:24:05 +0200 |
|---|---|---|
| committer | hachem <im@hachem.wtf> | 2025-08-22 12:24:05 +0200 |
| commit | 2c8002d30f291cba832a5750212009d48238c308 (patch) | |
| tree | 4aafc468441b3e32c267040830b8e0b5af859faf /src/engine/engine.h | |
| parent | b9de06951631d9969c52c6ed95de17a6d8aad121 (diff) | |
feat: add HDRI
Diffstat (limited to 'src/engine/engine.h')
| -rw-r--r-- | src/engine/engine.h | 28 |
1 files changed, 16 insertions, 12 deletions
diff --git a/src/engine/engine.h b/src/engine/engine.h index 95cd1f0..88e0058 100644 --- a/src/engine/engine.h +++ b/src/engine/engine.h @@ -101,30 +101,34 @@ 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; } + 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_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; } + float get_rotation_speed() const { return m_rotation_speed; } + void set_rotation_speed(float speed) { m_rotation_speed = speed; } - float get_blur_strength() const { return m_blur_strength; } - void set_blur_strength(float strength) { m_blur_strength = strength; } + float get_blur_strength() const { return m_blur_strength; } + void set_blur_strength(float strength) { m_blur_strength = strength; } - float get_glow_intensity() const { return m_glow_intensity; } + float get_glow_intensity() const { return m_glow_intensity; } void set_glow_intensity(float intensity) { m_glow_intensity = intensity; } 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; + + void set_hdri_environment(Ref<CubemapTexture> hdri) { m_hdri_environment = hdri; } + Ref<CubemapTexture> get_hdri_environment() const { return m_hdri_environment; } private: Ref<Shader> create_compute_program(const char* path); std::pair<Ref<VertexArray>, Ref<Texture2D>> quad_vao(); private: Ref<VertexArray> m_quad_vao; Ref<Texture2D> m_texture; + Ref<CubemapTexture> m_hdri_environment; Ref<Shader> m_shader_program; Ref<Shader> m_compute_program; Ref<Shader> m_blur_shader; @@ -135,8 +139,8 @@ namespace Donut int m_width; int m_height; - float m_width_f = 100*10e10f; - float m_height_f = 75*10e10f; + float m_width_f = 100.0f*1e10f; + float m_height_f = 75.0f*1e10f; int m_target_fps = 60; float m_current_fps = 60.0f; @@ -150,9 +154,9 @@ namespace Donut int m_max_steps_moving = 60000; int m_max_steps_static = 30000; - float m_early_exit_distance = 5e11f; + float m_early_exit_distance = 5.0e11f; - float m_disk_thickness = 0.1; + float m_disk_thickness = 0.1f; float m_disk_density = 0.1f; float m_rotation_speed = 1.0f; float m_blur_strength = 2.0f; |
