class Mesh;
class Renderer;
class Sampler;
-class Shader;
class Texture2D;
/**
-Base class for post-processing effects. Post-processors receive the contents
-of the entire framebuffer as a texture and render it back, altering it in the
-process.
+Base class for post-processing effects.
+
+PostProcessors can be added to a Sequence. They receive the contents of the
+entire framebuffer as a texture and render it back, altering it in the process.
*/
class PostProcessor
{
public:
+ /**
+ Holds the parameters for a PostProcessor. Used with SequenceTemplate.
+ */
struct Template
{
class Loader: public Msp::DataFile::ObjectLoader<Template>
Loader(Template &);
};
- unsigned size_divisor;
+ unsigned size_divisor = 1;
- Template();
- virtual ~Template() { }
+ virtual ~Template() = default;
virtual PostProcessor *create(unsigned, unsigned) const = 0;
};
public:
virtual ~PostProcessor() { }
- /// Renders the effect.
virtual void render(Renderer &, const Texture2D &, const Texture2D &) = 0;
virtual void set_debug_name(const std::string &) = 0;