X-Git-Url: http://git.tdb.fi/?p=libs%2Fgl.git;a=blobdiff_plain;f=source%2Frender%2Fsequence.cpp;h=74b8bc3b0b4fe9a6835d9f5fab5326dddcc62fe3;hp=b11d4b1c9f037aafbfe49eaebe2d76c1920d5511;hb=HEAD;hpb=0bcebf9930e4baada774a16c0e7637a22a410bb4 diff --git a/source/render/sequence.cpp b/source/render/sequence.cpp index b11d4b1c..4f10026a 100644 --- a/source/render/sequence.cpp +++ b/source/render/sequence.cpp @@ -12,7 +12,7 @@ using namespace std; namespace Msp { namespace GL { -Tag Sequence::noclear_tag = "noclear"; +const Tag Sequence::noclear_tag = "noclear"; Sequence::Sequence(unsigned w, unsigned h, const FrameFormat &f): width(w), @@ -143,8 +143,12 @@ void Sequence::render(Renderer &renderer, Tag tag) const if(target[0]) { + RenderTarget *source = target[0]; if(target_ms) - renderer.resolve_multisample(target[0]->get_framebuffer()); + { + renderer.resolve_multisample(); + source = target_ms; + } renderer.set_depth_test(0); renderer.set_stencil_test(0); @@ -152,12 +156,12 @@ void Sequence::render(Renderer &renderer, Tag tag) const for(unsigned i=0; iget_framebuffer() : out_fbo); - renderer.clear(0); - const Texture2D &color = target[j]->get_target_texture(COLOR_ATTACHMENT); - const Texture2D &depth = target[j]->get_target_texture(DEPTH_ATTACHMENT); + unsigned j = 1-i%2; + renderer.set_framebuffer(i+1get_framebuffer() : out_fbo); + const Texture2D &color = source->get_target_texture(COLOR_ATTACHMENT); + const Texture2D &depth = source->get_target_texture(DEPTH_ATTACHMENT); postproc[i]->render(renderer, color, depth); + source = target[j]; } } }