X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Frender%2Fscene.h;h=d07a81da80b82fef2998eed732c4d3aca8bef8b3;hb=016f0f0dd51511f98d0bf398d99199d7dec1543c;hp=96ecee97ef559f7f15ff6b4595b7c92046ae25ba;hpb=29f0d4ada51ff65c424398546e01e2884dba6ef3;p=libs%2Fgl.git diff --git a/source/render/scene.h b/source/render/scene.h index 96ecee97..d07a81da 100644 --- a/source/render/scene.h +++ b/source/render/scene.h @@ -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;