X-Git-Url: http://git.tdb.fi/?p=libs%2Fgl.git;a=blobdiff_plain;f=source%2Feffects%2Fbloom.h;h=30e98f7ee75f95a52e8f3e0ef7764daf380f3876;hp=7315075b1f68c43553ba1de7f103834ef4cc947c;hb=HEAD;hpb=fe2fc291a4fc618425c64112c9ffd3519f0b8a3e diff --git a/source/effects/bloom.h b/source/effects/bloom.h index 7315075b..30e98f7e 100644 --- a/source/effects/bloom.h +++ b/source/effects/bloom.h @@ -1,24 +1,21 @@ #ifndef MSP_GL_BLOOM_H_ #define MSP_GL_BLOOM_H_ -#include "framebuffer.h" -#include "mesh.h" #include "postprocessor.h" -#include "texture2d.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. +Bleeds very bright areas of the image into surrounding pixels to simulate +optical imperfections in lenses. -The technique used is to gaussian blur the image and then blend the result with -the original image. With suitable parameters, this effect may also be used as -a blur filter. +The input image is blurred with a gaussian kernel to simulate the Airy disc +produced by a lens, then the blurred image is blended with the original. */ class Bloom: public PostProcessor { @@ -31,10 +28,8 @@ public: Loader(Template &); }; - float radius; - float strength; - - Template(); + float radius = 2.0f; + float strength = 0.2f; virtual Bloom *create(unsigned, unsigned) const; }; @@ -62,6 +57,8 @@ public: void set_strength(float); virtual void render(Renderer &, const Texture2D &, const Texture2D &); + + virtual void set_debug_name(const std::string &); }; } // namespace GL