X-Git-Url: http://git.tdb.fi/?p=libs%2Fgl.git;a=blobdiff_plain;f=source%2Fpipeline.h;h=e8ffaf5ee46f3bcc3500143769e9c4ab2744ab42;hp=f7f7e06ca198d84fe0a7b0aad583898f3eabd6cc;hb=HEAD;hpb=7f888de83aa5398fafaa7661547ee80395377b5c diff --git a/source/pipeline.h b/source/pipeline.h deleted file mode 100644 index f7f7e06c..00000000 --- a/source/pipeline.h +++ /dev/null @@ -1,84 +0,0 @@ -/* $Id$ - -This file is part of libmspgl -Copyright © 2009-2011 Mikko Rasa, Mikkosoft Productions -Distributed under the LGPL -*/ - -#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 Effect; -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 effects; - 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_effect(Effect &); - 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