X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fpipeline.h;h=bc793887695b2db51676d979522faf7f680842fc;hb=7b956c7f992e37dddd279df0382c2fb94864cb73;hp=a63eeb5f686a2deb4cd541e60cd0b05ab0a7101a;hpb=c216893af147042e40c389e2530e71277c343044;p=libs%2Fgl.git diff --git a/source/pipeline.h b/source/pipeline.h index a63eeb5f..bc793887 100644 --- a/source/pipeline.h +++ b/source/pipeline.h @@ -1,10 +1,3 @@ -/* $Id$ - -This file is part of libmspgl -Copyright © 2009 Mikko Rasa, Mikkosoft Productions -Distributed under the LGPL -*/ - #ifndef MSP_GL_PIPELINE_H_ #define MSP_GL_PIPELINE_H_ @@ -45,14 +38,20 @@ private: unsigned width; unsigned height; bool hdr; + unsigned samples; Framebuffer *fbo; Texture2D *color_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 +64,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