]> git.tdb.fi Git - libs/gl.git/blobdiff - source/pipeline.h
Add object-oriented interfaces for the various tests and blending
[libs/gl.git] / source / pipeline.h
index afa9ed5ed525f1ecce5caaab550b1afcacf22c67..592c3caebebccd7d986250a8c5cc4f440880a9f6 100644 (file)
@@ -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<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;
@@ -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;