diff options
Diffstat (limited to 'src/engine/engine.h')
| -rw-r--r-- | src/engine/engine.h | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/src/engine/engine.h b/src/engine/engine.h index 524f1a7..95cd1f0 100644 --- a/src/engine/engine.h +++ b/src/engine/engine.h @@ -66,6 +66,7 @@ namespace Donut ~Engine() = default; void draw_full_screen_quad(); + void draw_blur_pass(); void dispatch_compute(const Camera& cam); void upload_camera_ubo(const Camera& cam); void upload_objects_ubo(const std::vector<ObjectData>& objs); @@ -109,6 +110,12 @@ namespace Donut 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_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; @@ -120,6 +127,7 @@ namespace Donut Ref<Texture2D> m_texture; Ref<Shader> m_shader_program; Ref<Shader> m_compute_program; + Ref<Shader> m_blur_shader; Ref<UniformBuffer> m_camera_ubo; Ref<UniformBuffer> m_disk_ubo; Ref<UniformBuffer> m_objects_ubo; @@ -145,7 +153,9 @@ namespace Donut float m_early_exit_distance = 5e11f; float m_disk_thickness = 0.1; - float m_disk_density = 1.2f; + float m_disk_density = 0.1f; float m_rotation_speed = 1.0f; + float m_blur_strength = 2.0f; + float m_glow_intensity = 0.1f; }; }; |
