]> git.tdb.fi Git - libs/gl.git/blobdiff - source/renderable.h
Check the flat qualifier from the correct member
[libs/gl.git] / source / renderable.h
diff --git a/source/renderable.h b/source/renderable.h
deleted file mode 100644 (file)
index 9a534e9..0000000
+++ /dev/null
@@ -1,66 +0,0 @@
-#ifndef MSP_GL_RENDERABLE_H_
-#define MSP_GL_RENDERABLE_H_
-
-#include <string>
-#include <msp/geometry/boundingsphere.h>
-#include "tag.h"
-
-namespace Msp {
-namespace GL {
-
-class Matrix;
-class Renderer;
-
-/**
-Base class for renderable objects.  All Renderables must support rendering with
-a Renderer, and may optionally provide support for standalone rendering.
-
-The render methods take a Tag to identify a render pass.  It is most commonly
-used together with Techniques and Pipelines to implement multipass rendering.
-
-The setup_frame and finish_frame methods provide a mechanism for performing
-once-per-frame operations.  This is most useful for effects, which may need to
-do auxiliary rendering.  With complex rendering hierarchies, these methods may
-be called multiple times for one frame, but it's guaranteed that no rendering
-will occur before a setup_frame call or after a finish_frame call.
-*/
-class Renderable
-{
-protected:
-       Renderable() { }
-public:
-       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; }
-
-       /** Returns a bounding sphere that completely encloses the Renderable.  The
-       bounding sphere is expressed in the renderable's coordinates.  Null is
-       returned if the bounding sphere cannot be determined. */
-       virtual const Geometry::BoundingSphere<float, 3> *get_bounding_sphere() const { return 0; }
-
-       /** Called when starting to render a new frame. */
-       virtual void setup_frame() const { }
-
-       /** Called when a complete frame has been rendered. */
-       virtual void finish_frame() const { }
-
-       /** 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;
-
-       /** Renders the Renderable.  Implementors should take care to return the
-       renderer to the state it was in, for example by using Renderer::Push. */
-       virtual void render(Renderer &, const Tag & = Tag()) const = 0;
-};
-
-} // namespace Msp
-} // namespace GL
-
-#endif