]> git.tdb.fi Git - libs/gl.git/blobdiff - source/pipeline.cpp
Reset viewport also after pass-specific effects
[libs/gl.git] / source / pipeline.cpp
index fcfead76f16c2ea9495801d98f7a9ed2e7bd7801..b0a38a2d3240a11cc63dd8ee9c801e22a534514e 100644 (file)
@@ -101,7 +101,10 @@ void Pipeline::render(const Tag &tag) const
        if(pass.lighting)
                pass.lighting->bind();
        for(vector<Effect *>::const_iterator i=pass.effects.begin(); i!=pass.effects.end(); ++i)
+       {
                (*i)->prepare();
+               glViewport(0, 0, width, height);
+       }
        for(vector<const Renderable *>::const_iterator i=renderables.begin(); i!=renderables.end(); ++i)
                (*i)->render(tag);
        for(vector<Effect *>::const_iterator i=pass.effects.end(); i--!=pass.effects.begin();)
@@ -118,7 +121,10 @@ void Pipeline::render_all() const
                glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT);
        }
        for(vector<Effect *>::const_iterator i=effects.begin(); i!=effects.end(); ++i)
+       {
                (*i)->prepare();
+               glViewport(0, 0, width, height);
+       }
        for(vector<Tag>::const_iterator i=pass_order.begin(); i!=pass_order.end(); ++i)
                render(*i);
        for(vector<Effect *>::const_iterator i=effects.end(); i--!=effects.begin();)