]> git.tdb.fi Git - libs/gl.git/blobdiff - source/renderable.h
Refresh lighting and culling uniforms if the camera changes in pop_state
[libs/gl.git] / source / renderable.h
index 9a534e9038579f37256c2722f6681235dc062eea..e90ab0243ee140173256ee3f2a6a1ba904fce7cc 100644 (file)
@@ -12,8 +12,8 @@ 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.
+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.
@@ -45,15 +45,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 { }
-
-       /** 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;
+       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. */