X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fpipeline.h;h=5da9a7b32141035b891191c027ff146b108fd824;hb=b617c5d7b5283ad260a77f01e42e6170cabbc03d;hp=afa9ed5ed525f1ecce5caaab550b1afcacf22c67;hpb=e759062876ee7fc81d1c2f40818d5bf97898d53d;p=libs%2Fgl.git diff --git a/source/pipeline.h b/source/pipeline.h index afa9ed5e..5da9a7b3 100644 --- a/source/pipeline.h +++ b/source/pipeline.h @@ -15,6 +15,7 @@ Distributed under the LGPL namespace Msp { namespace GL { +class Camera; class Effect; class Framebuffer; class PostProcessor; @@ -24,8 +25,11 @@ class Texture2D; class Pipeline: public Renderable { private: - std::map passes; + typedef std::map PassMap; + + PassMap passes; std::vector pass_order; + const Camera *camera; std::vector renderables; std::vector effects; std::vector postproc; @@ -40,6 +44,8 @@ public: 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; @@ -48,7 +54,7 @@ public: void add_effect(Effect &); void add_postprocessor(PostProcessor &); - virtual void render(const Tag &tag=Tag()) const; + virtual void render(const Tag &tag = Tag()) const; void render_all() const; };