X-Git-Url: http://git.tdb.fi/?p=libs%2Fgl.git;a=blobdiff_plain;f=source%2Fbloom.h;h=d8bb61acd24ed8f9d1d643683754ab314b57b74e;hp=ddf46fe96ea1f3b881936ddb7bc80c16c6e0b423;hb=HEAD;hpb=47bfbdc8cf844aa079995fca34a3b906b49a4f66 diff --git a/source/bloom.h b/source/bloom.h deleted file mode 100644 index ddf46fe9..00000000 --- a/source/bloom.h +++ /dev/null @@ -1,70 +0,0 @@ -#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 { - -/** -The Bloom post-processing effect causes very bright areas of the image to bleed -into surrounding pixels. Commonly used together with HDR rendering. - -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. -*/ -class Bloom: public PostProcessor -{ -public: - struct Template: public PostProcessor::Template - { - class Loader: public DataFile::DerivedObjectLoader - { - public: - Loader(Template &); - }; - - float radius; - float strength; - - Template(); - - virtual Bloom *create(unsigned, unsigned) const; - }; - -private: - RenderTarget *target[2]; - ProgramData common_shdata; - Program blur_shader; - ProgramData blur_shdata[2]; - Program combine_shader; - Texturing combine_texturing; - RefPtr quad; - -public: - Bloom(unsigned, unsigned); - ~Bloom(); - - /** Sets the σ value of the gaussian blur. Values much larger than 4.0 are - likely to cause artifacts. */ - void set_radius(float); - - /** Sets the blend factor between original and blurred images. Larger - values mean more blurriness. */ - void set_strength(float); - - virtual void render(Renderer &, const Texture2D &, const Texture2D &); -}; - -} // namespace GL -} // namespace Msp - -#endif