-/* $Id$
-
-This file is part of libmspgl
-Copyright © 2009 Mikko Rasa, Mikkosoft Productions
-Distributed under the LGPL
-*/
-
#ifndef MSP_GL_BLOOM_H_
#define MSP_GL_BLOOM_H_
class Bloom: public PostProcessor
{
private:
- Framebuffer fbo;
+ 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;
- Mesh quad;
+ 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);
values mean more blurriness. */
void set_strength(float);
- virtual void render(const Texture2D &, const Texture2D &);
+ virtual void render(Renderer &, const Texture2D &, const Texture2D &);
};
} // namespace GL