]> git.tdb.fi Git - libs/gl.git/blobdiff - source/effects/bloom.h
Use default member initializers for simple types
[libs/gl.git] / source / effects / bloom.h
index 6b10195b873e684d6af7634b85d8dd31a9f05879..94057b2f7b21a0603db19432fcfe4602082a0a3b 100644 (file)
@@ -1,18 +1,15 @@
 #ifndef MSP_GL_BLOOM_H_
 #define MSP_GL_BLOOM_H_
 
-#include "framebuffer.h"
-#include "mesh.h"
 #include "postprocessor.h"
-#include "texture2d.h"
-#include "texturing.h"
-#include "program.h"
 #include "programdata.h"
 #include "rendertarget.h"
 
 namespace Msp {
 namespace GL {
 
+class Program;
+
 /**
 The Bloom post-processing effect causes very bright areas of the image to bleed
 into surrounding pixels.  Commonly used together with HDR rendering.
@@ -32,10 +29,8 @@ public:
                        Loader(Template &);
                };
 
-               float radius;
-               float strength;
-
-               Template();
+               float radius = 2.0f;
+               float strength = 0.2f;
 
                virtual Bloom *create(unsigned, unsigned) const;
        };
@@ -43,13 +38,12 @@ public:
 private:
        RenderTarget *target[2];
        ProgramData common_shdata;
-       Program blur_shader;
+       const Program &blur_shader;
        ProgramData blur_shdata[2];
-       Program combine_shader;
-       Texturing combine_texturing;
-       RefPtr<Mesh> quad;
-       RefPtr<Sampler> nearest_sampler;
-       RefPtr<Sampler> linear_sampler;
+       const Program &combine_shader;
+       const Mesh &quad;
+       const Sampler &nearest_sampler;
+       const Sampler &linear_sampler;
 
 public:
        Bloom(unsigned, unsigned);
@@ -64,6 +58,8 @@ public:
        void set_strength(float);
 
        virtual void render(Renderer &, const Texture2D &, const Texture2D &);
+
+       virtual void set_debug_name(const std::string &);
 };
 
 } // namespace GL