]> git.tdb.fi Git - libs/gl.git/blobdiff - source/render/scene.h
Store simpler states by value in PipelineState
[libs/gl.git] / source / render / scene.h
index 96ecee97ef559f7f15ff6b4595b7c92046ae25ba..d07a81da80b82fef2998eed732c4d3aca8bef8b3 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
 {
@@ -37,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:
@@ -56,9 +63,6 @@ protected:
        mutable Vector4 frustum_edges[6];
 
        Scene() = default;
-private:
-       Scene(const Scene &);
-       Scene &operator=(const Scene &);
 public:
        virtual ~Scene() = default;