X-Git-Url: http://git.tdb.fi/?p=libs%2Fgl.git;a=blobdiff_plain;f=source%2Fpipeline.h;h=dd80ef3bb1563d475e1ab9d606444187047b4b6d;hp=9ac03efbb9989d4b2d462d689346f348ab299615;hb=bec07999d95b76f4b47cffcc564d0cd0afc0435e;hpb=18240e2bb031551e9c72a55c7d974904d209760a diff --git a/source/pipeline.h b/source/pipeline.h index 9ac03efb..dd80ef3b 100644 --- a/source/pipeline.h +++ b/source/pipeline.h @@ -80,6 +80,7 @@ private: unsigned width; unsigned height; bool hdr; + bool alpha; unsigned samples; RenderTarget *target[2]; RenderTarget *target_ms; @@ -87,6 +88,7 @@ private: public: Pipeline(unsigned, unsigned, bool = false); Pipeline(const View &); + Pipeline(const Framebuffer &); private: void init(unsigned, unsigned); public: @@ -96,6 +98,10 @@ public: A ColorCurve postprocessor is recommended for full benefit. */ void set_hdr(bool); + /* Enable or disable alpha channel. When enabled, all render targets are + created with an RGBA pixel format instead of RGB. */ + void set_alpha(bool); + void set_multisample(unsigned); unsigned get_width() const { return width; } @@ -103,13 +109,6 @@ public: bool get_hdr() const { return hdr; } unsigned get_multisample() const { return samples; } - // Deprecated - void set_camera(const Camera *); - Pass &add_pass(const Tag &tag); - void add_renderable(Renderable &); - void add_renderable_for_pass(Renderable &, const Tag &); - void remove_renderable(Renderable &); - /** Adds a pass to the pipeline. It's permissible to add the same Renderable multiple times. */ Pass &add_pass(const Tag &, Renderable &); @@ -129,7 +128,6 @@ public: virtual void setup_frame(Renderer &); virtual void finish_frame(); - void render(); virtual void render(Renderer &, const Tag &tag = Tag()) const; private: