]> git.tdb.fi Git - libs/gl.git/blobdiff - source/pipeline.h
Add EXT_framebuffer_blit and EXT_framebuffer_multisample
[libs/gl.git] / source / pipeline.h
index 3f0ea2fa235390a81232c5b95bd26a014a93128d..f7f7e06ca198d84fe0a7b0aad583898f3eabd6cc 100644 (file)
@@ -1,7 +1,7 @@
 /* $Id$
 
 This file is part of libmspgl
-Copyright © 2009  Mikko Rasa, Mikkosoft Productions
+Copyright © 2009-2011  Mikko Rasa, Mikkosoft Productions
 Distributed under the LGPL
 */
 
@@ -45,14 +45,20 @@ private:
        unsigned width;
        unsigned height;
        bool hdr;
+       unsigned samples;
        Framebuffer *fbo;
        Texture2D *color_buf;
-       Renderbuffer *depth_buf;
+       Texture2D *depth_buf;
+       Framebuffer *fbo_ms;
+       Renderbuffer *color_buf_ms;
+       Renderbuffer *depth_buf_ms;
 
 public:
-       Pipeline(unsigned, unsigned, bool);
+       Pipeline(unsigned, unsigned, bool = false);
        ~Pipeline();
 
+       void set_hdr(bool);
+       void set_multisample(unsigned);
        void set_camera(const Camera *);
 
        PipelinePass &add_pass(const Tag &tag);
@@ -65,8 +71,11 @@ public:
        void add_effect(Effect &);
        void add_postprocessor(PostProcessor &);
 
-       virtual void render(const Tag &tag = Tag()) const;
+       virtual void render(Renderer &, const Tag &tag = Tag()) const;
        void render_all() const;
+
+private:
+       void create_fbos();
 };
 
 } // namespace GL