X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Foccludedscene.h;h=6f5e23bd0d175c4572bb67df608d43328444ebd3;hb=0ab875bdc9fbf84ecfce883b188410bb45882447;hp=3f8ca76ce4dcbfe40dc3edaa5553f92785640acb;hpb=b160f64ab6da260bad06a4e5f5bfed243e2cdc24;p=libs%2Fgl.git diff --git a/source/occludedscene.h b/source/occludedscene.h index 3f8ca76c..6f5e23bd 100644 --- a/source/occludedscene.h +++ b/source/occludedscene.h @@ -19,7 +19,7 @@ class OccludedScene: public Scene private: struct OccludedRenderable { - const Renderable *renderable; + Renderable *renderable; const Geometry::BoundingSphere *bounding_sphere; bool in_frustum; bool occluder; @@ -28,7 +28,7 @@ private: OccludedRenderable(); }; - typedef std::set RenderableSet; + typedef std::set RenderableSet; typedef std::vector OccludedArray; Mesh bounding_mesh; @@ -42,8 +42,15 @@ public: OccludedScene(); ~OccludedScene(); - virtual void add(const Renderable &); - virtual void remove(const Renderable &); + virtual void add(Renderable &); + virtual void remove(Renderable &); + +private: + void populate_cache() const; + +public: + virtual void setup_frame(Renderer &); + virtual void finish_frame(); virtual void render(Renderer &, const Tag &) const; };