]> git.tdb.fi Git - libs/gl.git/blobdiff - source/render/sequence.cpp
Fix a logic error in Sequence
[libs/gl.git] / source / render / sequence.cpp
index 89d475e3fe1121d83cc98f0f55b6cb372964ccdc..9a50b8f6f405648ff7b857af03f394b4a85d2eb7 100644 (file)
@@ -1,10 +1,8 @@
 #include <msp/core/maputils.h>
 #include "blend.h"
-#include "camera.h"
 #include "framebuffer.h"
 #include "lighting.h"
 #include "postprocessor.h"
-#include "renderbuffer.h"
 #include "renderer.h"
 #include "sequence.h"
 #include "texture2d.h"
@@ -33,7 +31,6 @@ Sequence::Sequence(const Framebuffer &fbo)
 
 void Sequence::init(unsigned w, unsigned h)
 {
-       camera = 0;
        width = w;
        height = h;
        hdr = false;
@@ -133,7 +130,7 @@ void Sequence::add_postprocessor(PostProcessor *pp, bool owned)
        }
        catch(...)
        {
-               if(!owned)
+               if(owned)
                        delete pp;
                postproc.pop_back();
                throw;
@@ -198,8 +195,8 @@ void Sequence::render(Renderer &renderer, Tag tag) const
                {
                        unsigned j = i%2;
                        renderer.set_framebuffer(i+1<postproc.size() ? &target[1-j]->get_framebuffer() : out_fbo);
-                       const Texture2D &color = target[j]->get_target_texture(RENDER_COLOR);
-                       const Texture2D &depth = target[j]->get_target_texture(RENDER_DEPTH);
+                       const Texture2D &color = target[j]->get_target_texture(COLOR_ATTACHMENT);
+                       const Texture2D &depth = target[j]->get_target_texture(DEPTH_ATTACHMENT);
                        postproc[i].postproc->render(renderer, color, depth);
                }
        }
@@ -221,7 +218,7 @@ void Sequence::create_targets(unsigned recreate)
        }
 
        PixelFormat color_pf = (hdr ? (alpha ? RGBA16F : RGB16F) : (alpha ? RGBA8 : RGB8));
-       RenderTargetFormat fmt = (RENDER_COLOR,color_pf, RENDER_DEPTH);
+       FrameFormat fmt = (COLOR_ATTACHMENT,color_pf, DEPTH_ATTACHMENT);
        if(!postproc.empty() || samples)
        {
                if(!target[0])
@@ -231,7 +228,7 @@ void Sequence::create_targets(unsigned recreate)
        }
 
        if(!target_ms && samples)
-               target_ms = new RenderTarget(width, height, samples, fmt);
+               target_ms = new RenderTarget(width, height, fmt.set_samples(samples));
 
 #ifdef DEBUG
        if(!debug_name.empty())
@@ -291,7 +288,7 @@ void Sequence::Step::set_blend(const Blend &b)
 
 void Sequence::Step::set_clipping(const Clipping *c)
 {
-       clipping =c;
+       clipping = c;
 }
 
 } // namespace GL