return passes.back();
}
-void Pipeline::add_renderable(const Renderable &r)
+void Pipeline::add_renderable(Renderable &r)
{
for(vector<Slot>::iterator i=renderables.begin(); i!=renderables.end(); ++i)
if(i->renderable==&r)
renderables.push_back(&r);
}
-void Pipeline::add_renderable_for_pass(const Renderable &r, const Tag &tag)
+void Pipeline::add_renderable_for_pass(Renderable &r, const Tag &tag)
{
for(vector<Slot>::iterator i=renderables.begin(); i!=renderables.end(); ++i)
if(i->renderable==&r)
renderables.back().passes.insert(tag);
}
-void Pipeline::remove_renderable(const Renderable &r)
+void Pipeline::remove_renderable(Renderable &r)
{
for(vector<Slot>::iterator i=renderables.begin(); i!=renderables.end(); ++i)
if(i->renderable==&r)
}
}
-Pipeline::Pass &Pipeline::add_pass(const Tag &tag, const Renderable &r)
+Pipeline::Pass &Pipeline::add_pass(const Tag &tag, Renderable &r)
{
passes.push_back(Pass(tag, &r));
return passes.back();
}
-Pipeline::Pass::Pass(const Tag &t, const Renderable *r):
+Pipeline::Pass::Pass(const Tag &t, Renderable *r):
tag(t),
lighting(0),
depth_test(0),
}
-Pipeline::Slot::Slot(const Renderable *r):
+Pipeline::Slot::Slot(Renderable *r):
renderable(r)
{ }