-#include "culler.h"
-#include "renderer.h"
-#include "scene.h"
-
-using namespace std;
-
-namespace Msp {
-namespace GL {
-
-void Scene::add_culler(Culler &c)
-{
- cullers.push_back(&c);
-}
-
-void Scene::remove_culler(Culler &c)
-{
- list<Culler *>::iterator i = find(cullers.begin(), cullers.end(), &c);
- if(i!=cullers.end())
- cullers.erase(i);
-}
-
-void Scene::render(const Tag &tag) const
-{
- Renderer renderer(0);
- render(renderer, tag);
-}
-
-void Scene::setup_cullers(const Renderer &renderer) const
-{
- for(list<Culler *>::const_iterator i=cullers.begin(); i!=cullers.end(); ++i)
- (*i)->setup_frame(renderer);
-}
-
-bool Scene::cull(const Renderer &renderer, const Renderable &renderable) const
-{
- for(list<Culler *>::const_iterator i=cullers.begin(); i!=cullers.end(); ++i)
- if((*i)->cull(renderer, renderable))
- return true;
- return false;
-}
-
-} // namespace GL
-} // namespace Msp