X-Git-Url: http://git.tdb.fi/?p=libs%2Fgl.git;a=blobdiff_plain;f=source%2Fscene.cpp;h=607166d5d32f285e35879ff62134891a9c8e5a42;hp=20399daff01256e35de5bc87dedeec852dd49131;hb=6a135773515b020ea3f163a11d06150ae5c0e69f;hpb=6b31fae3191e88fe391c3d3eebbf3e56789dd3e3 diff --git a/source/scene.cpp b/source/scene.cpp index 20399daf..607166d5 100644 --- a/source/scene.cpp +++ b/source/scene.cpp @@ -24,10 +24,18 @@ void Scene::remove(const Renderable &r) void Scene::render(const Tag &tag) const { - for(set::const_iterator i=renderables.begin(); i!=renderables.end(); ++i) + for(set::const_iterator i=renderables.begin(); i!=renderables.end(); ++i) if((*i)->has_pass(tag)) (*i)->render(tag); } + +bool Scene::Compare::operator()(const Renderable *a, const Renderable *b) const +{ + if(a->get_order()!=b->get_order()) + return a->get_order()get_order(); + return a