1 #ifndef MSP_DEMOSCENE_FADEOVERLAY_H_
2 #define MSP_DEMOSCENE_FADEOVERLAY_H_
4 #include <msp/gl/color.h>
5 #include <msp/gl/mesh.h>
6 #include <msp/gl/postprocessor.h>
7 #include <msp/gl/program.h>
8 #include <msp/gl/programdata.h>
10 #include "sequencer.h"
12 class FadeOverlay: public Msp::GL::PostProcessor
15 class Fade: public ColorFadeAction
18 class Loader: public Msp::DataFile::DerivedObjectLoader<Fade, Action::Loader>
21 Loader(Fade &, Demo &);
24 void overlay(const std::string &);
25 void color(float, float, float, float);
33 Fade(FadeOverlay &, const Msp::GL::Color &);
35 virtual void validate() const;
37 virtual const Msp::GL::Color &get_color() const { return overlay->color; }
38 virtual void set_color(const Msp::GL::Color &c) { overlay->set_color(c); }
42 const Msp::GL::Mesh &mesh;
43 const Msp::GL::Program &shprog;
44 Msp::GL::ProgramData shdata;
48 FadeOverlay(Msp::DataFile::Collection &);
50 void set_color(const Msp::GL::Color &);
52 virtual void render(Msp::GL::Renderer &, const Msp::GL::Texture2D &, const Msp::GL::Texture2D &);