2 #include "simplescene.h"
7 void SimpleScene::add(const Renderable &r)
9 renderables.insert(&r);
13 void SimpleScene::remove(const Renderable &r)
15 renderables.erase(&r);
19 void SimpleScene::populate_cache() const
21 if(cache.empty() && !renderables.empty())
23 cache.reserve(renderables.size());
24 cache.insert(cache.end(), renderables.begin(), renderables.end());
28 void SimpleScene::setup_frame() const
31 for(RenderableArray::const_iterator i=cache.begin(); i!=cache.end(); ++i)
35 void SimpleScene::finish_frame() const
37 for(RenderableArray::const_iterator i=cache.begin(); i!=cache.end(); ++i)
41 void SimpleScene::render(Renderer &renderer, const Tag &tag) const
44 if(setup_frustum(renderer))
46 for(RenderableArray::const_iterator i=cache.begin(); i!=cache.end(); ++i)
47 if(!frustum_cull(**i))
48 renderer.render(**i, tag);
52 for(RenderableArray::const_iterator i=cache.begin(); i!=cache.end(); ++i)
53 renderer.render(**i, tag);