X-Git-Url: http://git.tdb.fi/?p=libs%2Fgl.git;a=blobdiff_plain;f=source%2Fpipeline.h;h=9ac03efbb9989d4b2d462d689346f348ab299615;hp=35d10a41c6f5a6f3521ade05f0066a4218bebbb3;hb=18240e2bb031551e9c72a55c7d974904d209760a;hpb=e6bd08e977f3138bfcfa3a1b6cc45201c383e016 diff --git a/source/pipeline.h b/source/pipeline.h index 35d10a41..9ac03efb 100644 --- a/source/pipeline.h +++ b/source/pipeline.h @@ -76,7 +76,7 @@ private: PassList passes; const Camera *camera; std::vector renderables; - std::vector postproc; + std::vector > postproc; unsigned width; unsigned height; bool hdr; @@ -98,6 +98,11 @@ public: void set_multisample(unsigned); + unsigned get_width() const { return width; } + unsigned get_height() const { return height; } + bool get_hdr() const { return hdr; } + unsigned get_multisample() const { return samples; } + // Deprecated void set_camera(const Camera *); Pass &add_pass(const Tag &tag); @@ -112,6 +117,15 @@ public: /** Adds a postprocessor to the pipeline. */ void add_postprocessor(PostProcessor &); + /** Adds a postprocessor to the pipeline, transferring ownership. The + postprocessor will be deleted together with with pipeline. It is also + deleted if this call throws an exception. */ + void add_postprocessor_owned(PostProcessor *); + +private: + void add_postprocessor(PostProcessor *, bool); + +public: virtual void setup_frame(Renderer &); virtual void finish_frame();