X-Git-Url: http://git.tdb.fi/?p=libs%2Fgl.git;a=blobdiff_plain;f=source%2Fbloom.h;h=d8bb61acd24ed8f9d1d643683754ab314b57b74e;hp=b96fddfc52abeed4c1ce60da16c3fb99f09d8deb;hb=HEAD;hpb=a86623004ba91baef76dac9275e9b79366acce16 diff --git a/source/bloom.h b/source/bloom.h deleted file mode 100644 index b96fddfc..00000000 --- a/source/bloom.h +++ /dev/null @@ -1,53 +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" - -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 -{ -private: - Framebuffer fbo[2]; - Texture2D tex[2]; - Program blur_shader; - ProgramData blur_shdata_common; - ProgramData blur_shdata[2]; - Program combine_shader; - ProgramData combine_shdata; - Texturing combine_texturing; - const Mesh &quad; - -public: - Bloom(unsigned, unsigned); - - /** 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(const Texture2D &, const Texture2D &); -}; - -} // namespace GL -} // namespace Msp - -#endif