1 #ifndef MSP_GL_POSTPROCESSOR_H_
2 #define MSP_GL_POSTPROCESSOR_H_
4 #include <msp/datafile/objectloader.h>
16 Base class for post-processing effects. Post-processors receive the contents
17 of the entire framebuffer as a texture and render it back, altering it in the
25 class Loader: public Msp::DataFile::ObjectLoader<Template>
31 unsigned size_divisor;
34 virtual ~Template() { }
36 virtual PostProcessor *create(unsigned, unsigned) const = 0;
42 virtual ~PostProcessor() { }
44 /// Renders the effect.
45 virtual void render(const Texture2D &, const Texture2D &) { }
47 virtual void render(Renderer &, const Texture2D &, const Texture2D &);
49 virtual void set_debug_name(const std::string &) = 0;