+ virtual ~Renderable() { }
+
+ /** Returns a key used for grouping Renderables in an InstanceScene. The
+ returned value is treated as opaque. */
+ virtual long get_instance_key() const { return 0; }
+
+ /** Returns the model matrix of the Renderable. Null is returned if no such
+ matrix exists. */
+ virtual const Matrix *get_matrix() const { return 0; }
+
+ /** Renders the renderable without a renderer. This can be convenient in
+ some simple cases, but most renderables don't need to implement this
+ method. */
+ virtual void render(const Tag & = Tag()) const;