1 #ifndef MSP_DEMOSCENE_STAGE_H_
2 #define MSP_DEMOSCENE_STAGE_H_
4 #include <msp/gl/camera.h>
5 #include <msp/gl/pipeline.h>
15 class UseInView: public Action
18 class Loader: public Msp::DataFile::DerivedObjectLoader<UseInView, Action::Loader>
21 Loader(UseInView &, Demo &);
24 void stage(const std::string &);
25 void view(const std::string &);
34 UseInView(Msp::GL::View &, Stage &);
36 virtual void validate() const;
38 virtual void start(float, float);
41 class SetCamera: public Action
44 class Loader: public Msp::DataFile::DerivedObjectLoader<SetCamera, Action::Loader>
47 Loader(SetCamera &, Demo &);
50 void camera(const std::string &);
51 void stage(const std::string &);
56 const Msp::GL::Camera *camera;
60 SetCamera(Stage &, const Msp::GL::Camera &);
62 virtual void validate() const;
64 virtual void start(float, float);
68 Msp::GL::Pipeline *pipeline;
69 Msp::GL::Camera camera;
70 Msp::GL::View *last_view;
76 virtual void add_things(Demo::ThingMap &, const std::string &);
78 void set_camera(const Msp::GL::Camera &);
79 Msp::GL::Camera &get_camera() { return camera; }
82 virtual void create_pipeline(Msp::GL::View &) = 0;
85 } // namespace DemoScene