/* $Id$
This file is part of libmspgl
-Copyright © 2009-2010 Mikko Rasa, Mikkosoft Productions
+Copyright © 2009-2011 Mikko Rasa, Mikkosoft Productions
Distributed under the LGPL
*/
#include "pipeline.h"
#include "postprocessor.h"
#include "renderbuffer.h"
+#include "renderer.h"
#include "tests.h"
#include "texture2d.h"
}
}
-void Pipeline::render(const Tag &tag) const
+void Pipeline::render(Renderer &renderer, const Tag &tag) const
{
const PipelinePass &pass = get_pass(tag);
for(vector<Slot>::const_iterator i=renderables.begin(); i!=renderables.end(); ++i)
if(i->passes.empty() || i->passes.count(tag))
- i->renderable->render(tag);
+ i->renderable->render(renderer, tag);
for(vector<Effect *>::const_iterator i=pass.effects.end(); i!=pass.effects.begin();)
(*--i)->cleanup();
for(vector<Effect *>::const_iterator i=effects.begin(); i!=effects.end(); ++i)
(*i)->prepare();
+ Renderer renderer(camera);
for(vector<Tag>::const_iterator i=pass_order.begin(); i!=pass_order.end(); ++i)
- render(*i);
+ render(renderer, *i);
for(vector<Effect *>::const_iterator i=effects.end(); i!=effects.begin();)
(*--i)->cleanup();