X-Git-Url: http://git.tdb.fi/?p=libs%2Fgl.git;a=blobdiff_plain;f=source%2Frender%2Fsequence.cpp;fp=source%2Frender%2Fsequence.cpp;h=254a6c462abcbdc01aa232a104c05cf5380db269;hp=535e81859aa0dea0a8d403088abc8ae2ce819d6a;hb=ff8a8bfa114a690b7b25d9503bb5ed811d6aeca9;hpb=d4e380914f02800b7d915a8748ac9ccd7029bc3b diff --git a/source/render/sequence.cpp b/source/render/sequence.cpp index 535e8185..254a6c46 100644 --- a/source/render/sequence.cpp +++ b/source/render/sequence.cpp @@ -17,14 +17,16 @@ Sequence::Sequence(): width(0), height(0), target{0, 0}, - target_ms(0) + target_ms(0), + clear_enabled(false) { } Sequence::Sequence(unsigned w, unsigned h, const FrameFormat &f): width(w), height(h), target_format(f), - target_ms(0) + target_ms(0), + clear_enabled(false) { if(target_format.empty()) throw invalid_argument("Sequence::Sequence"); @@ -48,6 +50,11 @@ Sequence::~Sequence() delete target_ms; } +void Sequence::set_clear_enabled(bool c) +{ + clear_enabled = c; +} + Sequence::Step &Sequence::add_step(Tag tag, Renderable &r) { steps.push_back(Step(tag, &r)); @@ -99,10 +106,10 @@ void Sequence::render(Renderer &renderer, Tag tag) const const Framebuffer *out_fbo = renderer.get_framebuffer(); if(target[0]) - { renderer.set_framebuffer(&(target_ms ? target_ms : target[0])->get_framebuffer()); + + if(clear_enabled) renderer.clear(); - } for(const Step &s: steps) {