namespace Msp {
namespace GL {
+class Camera;
class Effect;
class Framebuffer;
class PostProcessor;
class Pipeline: public Renderable
{
private:
- std::map<unsigned, PipelinePass> passes;
+ typedef std::map<Tag, PipelinePass> PassMap;
+
+ PassMap passes;
std::vector<Tag> pass_order;
+ const Camera *camera;
std::vector<const Renderable *> renderables;
std::vector<Effect *> effects;
std::vector<PostProcessor *> postproc;
Pipeline(unsigned, unsigned, bool);
~Pipeline();
+ void set_camera(const Camera *);
+
PipelinePass &add_pass(const Tag &tag);
PipelinePass &get_pass(const Tag &tag);
const PipelinePass &get_pass(const Tag &tag) const;
- virtual bool has_pass(const Tag &tag) const;
void add_renderable(const Renderable &);
void add_effect(Effect &);