X-Git-Url: http://git.tdb.fi/?p=libs%2Fgl.git;a=blobdiff_plain;f=source%2Frender%2Fobjectinstance.h;h=5c36113daee00c89d7d9c8ba9a4931a603f584c9;hp=c3128877728eb1b7623c41b7f1212527de8f94ae;hb=HEAD;hpb=233dff2a6c552e08da832496aecd88ef4f8948f1 diff --git a/source/render/objectinstance.h b/source/render/objectinstance.h index c3128877..5c36113d 100644 --- a/source/render/objectinstance.h +++ b/source/render/objectinstance.h @@ -9,9 +9,11 @@ namespace Msp { namespace GL { /** -Represents a single instance of an Object. Thanks to being derived from -Placeable in can be positioned without additional effort. Other instance -parameters can be set by overriding the hook functions. +Represents a single instance of an Object. A model matrix is provided through +the Placeable base class. + +The state used to render the object can be customized by overriding the +setup_render() and finish_render() functions. */ class ObjectInstance: public PlacedRenderable { @@ -32,7 +34,6 @@ public: ObjectInstance(const Object &); const Object &get_object() const { return object; } - virtual IntPtr get_instance_key() const { return reinterpret_cast(&object); } virtual const Geometry::BoundingSphere *get_bounding_sphere() const { return object.get_bounding_sphere(); } @@ -47,6 +48,8 @@ public: anything. */ virtual void finish_render(Renderer &, Tag) const { } + /** Returns the level of detail to render this instance with. This function + should apply LoD bias from the Renderer if desired. */ virtual unsigned get_level_of_detail(const Renderer &) const; };