X-Git-Url: http://git.tdb.fi/?p=libs%2Fgl.git;a=blobdiff_plain;f=source%2Fpipeline.h;h=e8ffaf5ee46f3bcc3500143769e9c4ab2744ab42;hp=85179b7d5abfb4c4263c39176b53d6fd26a0a7a5;hb=HEAD;hpb=7cbe8cc9893fe14f889321bd55e78b0ed6503e23 diff --git a/source/pipeline.h b/source/pipeline.h deleted file mode 100644 index 85179b7d..00000000 --- a/source/pipeline.h +++ /dev/null @@ -1,74 +0,0 @@ -#ifndef MSP_GL_PIPELINE_H_ -#define MSP_GL_PIPELINE_H_ - -#include -#include -#include "pipelinepass.h" -#include "renderable.h" - -namespace Msp { -namespace GL { - -class Camera; -class Framebuffer; -class PostProcessor; -class Renderbuffer; -class Texture2D; - -class Pipeline: public Renderable -{ -private: - struct Slot - { - const Renderable *renderable; - std::set passes; - - Slot(const Renderable *); - }; - - typedef std::map PassMap; - - PassMap passes; - std::vector pass_order; - const Camera *camera; - std::vector renderables; - std::vector postproc; - 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 = false); - ~Pipeline(); - - void set_hdr(bool); - void set_multisample(unsigned); - 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; - - void add_renderable(const Renderable &); - void add_renderable_for_pass(const Renderable &, const Tag &); - void remove_renderable(const Renderable &); - void add_postprocessor(PostProcessor &); - - virtual void render(Renderer &, const Tag &tag = Tag()) const; - void render_all() const; - -private: - void create_fbos(); -}; - -} // namespace GL -} // namespace Msp - -#endif