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