]> git.tdb.fi Git - libs/gl.git/blobdiff - source/renderable.h
Improve formatting of an empty loop body
[libs/gl.git] / source / renderable.h
index 18319cb4595a398aa362c70d583e8ec37665702b..6e1505ca5a728c0ac1b012eb797cf00c84321ff4 100644 (file)
@@ -15,8 +15,9 @@ class Renderer;
 Base class for renderable objects.  Rendering is performed with the help of a
 Renderer object.
 
-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 render method takes a Tag to identify a render pass.  It can be used with
+a Technique to select alternative rendering methods, such as simplified shaders
+for a depth-only shadow pass.
 
 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
@@ -36,7 +37,8 @@ public:
        virtual long get_instance_key() const { return 0; }
 
        /** Returns the model matrix of the Renderable.  Null is returned if no such
-       matrix exists. */
+       matrix exists.  The matrix should be in world space for some effects to work
+       correctly. */
        virtual const Matrix *get_matrix() const { return 0; }
 
        /** Returns a bounding sphere that completely encloses the Renderable.  The
@@ -45,10 +47,10 @@ public:
        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 { }
+       virtual void setup_frame(Renderer &) { }
 
        /** Called when a complete frame has been rendered. */
-       virtual void finish_frame() const { }
+       virtual void finish_frame() { }
 
        /** Renders the Renderable.  Implementors should take care to return the
        renderer to the state it was in, for example by using Renderer::Push. */