X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fpipeline.cpp;h=ce9c8f689a0feecd55214590f2dff25c3851850a;hb=d031a80ea06e3ccd01041e9c6024fa62adf25160;hp=4c4007233d2b9fd82cc82f9bf7cccdf0cc56f3e4;hpb=7791ca3eac17e355d1de508b1730dc854ed7712d;p=libs%2Fgl.git diff --git a/source/pipeline.cpp b/source/pipeline.cpp index 4c400723..ce9c8f68 100644 --- a/source/pipeline.cpp +++ b/source/pipeline.cpp @@ -81,7 +81,7 @@ Pipeline::Pass &Pipeline::add_pass(const Tag &tag) return passes.back(); } -void Pipeline::add_renderable(const Renderable &r) +void Pipeline::add_renderable(Renderable &r) { for(vector::iterator i=renderables.begin(); i!=renderables.end(); ++i) if(i->renderable==&r) @@ -93,7 +93,7 @@ void Pipeline::add_renderable(const 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::iterator i=renderables.begin(); i!=renderables.end(); ++i) if(i->renderable==&r) @@ -106,7 +106,7 @@ void Pipeline::add_renderable_for_pass(const Renderable &r, const Tag &tag) renderables.back().passes.insert(tag); } -void Pipeline::remove_renderable(const Renderable &r) +void Pipeline::remove_renderable(Renderable &r) { for(vector::iterator i=renderables.begin(); i!=renderables.end(); ++i) if(i->renderable==&r) @@ -116,7 +116,7 @@ void Pipeline::remove_renderable(const 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(); @@ -154,14 +154,11 @@ void Pipeline::finish_frame() const i->renderable->finish_frame(); } -void Pipeline::render(const Tag &tag) const +void Pipeline::render() const { - if(tag.id) - return; - Renderer renderer(camera); setup_frame(); - render(renderer, tag); + render(renderer); finish_frame(); } @@ -259,7 +256,7 @@ void Pipeline::create_targets(unsigned recreate) } -Pipeline::Pass::Pass(const Tag &t, const Renderable *r): +Pipeline::Pass::Pass(const Tag &t, Renderable *r): tag(t), lighting(0), depth_test(0), @@ -289,7 +286,7 @@ void Pipeline::Pass::set_clipping(const Clipping *c) } -Pipeline::Slot::Slot(const Renderable *r): +Pipeline::Slot::Slot(Renderable *r): renderable(r) { }