#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
{
Loader(Template &);
};
- float radius;
- float strength;
-
- Template();
+ float radius = 2.0f;
+ float strength = 0.2f;
virtual Bloom *create(unsigned, unsigned) const;
};