]> git.tdb.fi Git - libs/gl.git/blobdiff - source/render/scene.h
Move WindowView::render to the backend
[libs/gl.git] / source / render / scene.h
index 8083239390fed6d765e546ae08ea2aadde14f2ce..692dcd0dfc6c7ebf88e0e8c7f0b26d7c0aae4b33 100644 (file)
@@ -11,9 +11,15 @@ namespace Msp {
 namespace GL {
 
 /**
-Scenes are containers for other Renderables.  This is a base class that can't
-be instantiated.  Examples of available Scene types are SimpleScene,
-InstancedScene and OrderedScene.
+Container for other renderables.  Subclasses provide different ways of
+rendering the contents.
+
+All types of Scenes perform frustum culling on the contents, skipping
+renderables whose bounding sphere is fully outside the view volume.  If a
+bounding sphere cannot be determined, culling is not performed on that
+renderable.
+
+SimpleScene is a good default choice if there are no specific requirements.
 */
 class Scene: public Renderable
 {
@@ -25,7 +31,8 @@ protected:
 
        private:
                ContentMap *content;
-               unsigned inst_counter;
+
+               static unsigned inline_counter;
 
        public:
                Loader(Scene &s, Collection &c): Loader(s, c, 0) { }
@@ -36,6 +43,7 @@ protected:
                void object(const std::string &);
                void object_tagged(const std::string &, const std::string &);
                void scene(const std::string &);
+               void scene_inline();
        };
 
 public: