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"
15 class FadeOverlay: public Msp::GL::PostProcessor
18 class Fade: public ColorFadeAction
21 class Loader: public Msp::DataFile::DerivedObjectLoader<Fade, Action::Loader>
24 Loader(Fade &, Demo &);
27 void overlay(const std::string &);
28 void color(float, float, float, float);
36 Fade(FadeOverlay &, const Msp::GL::Color &);
38 virtual void validate() const;
40 virtual const Msp::GL::Color &get_color() const { return overlay->color; }
41 virtual void set_color(const Msp::GL::Color &c) { overlay->set_color(c); }
45 const Msp::GL::Mesh &mesh;
46 const Msp::GL::Program &shprog;
47 Msp::GL::ProgramData shdata;
53 void set_color(const Msp::GL::Color &);
55 virtual void render(Msp::GL::Renderer &, const Msp::GL::Texture2D &, const Msp::GL::Texture2D &);
58 } // namespace DemoScene