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.
17 PostProcessors can be added to a Sequence. They receive the contents of the
18 entire framebuffer as a texture and render it back, altering it in the process.
24 Holds the parameters for a PostProcessor. Used with SequenceTemplate.
28 class Loader: public Msp::DataFile::ObjectLoader<Template>
34 unsigned size_divisor = 1;
36 virtual ~Template() = default;
38 virtual PostProcessor *create(unsigned, unsigned) const = 0;
44 virtual ~PostProcessor() { }
46 virtual void render(Renderer &, const Texture2D &, const Texture2D &) = 0;
48 virtual void set_debug_name(const std::string &) = 0;