]> git.tdb.fi Git - libs/gl.git/commitdiff
Remove the Renderer-less overload of Renderable::render
authorMikko Rasa <tdb@tdb.fi>
Mon, 5 Dec 2016 16:10:52 +0000 (18:10 +0200)
committerMikko Rasa <tdb@tdb.fi>
Mon, 5 Dec 2016 17:50:12 +0000 (19:50 +0200)
It's been sort-of deprecated for a long time even though it wasn't marked
as such.  None of my code code uses it with anything else than Pipeline
(and that code path is being replaced with View).

source/object.cpp
source/object.h
source/pipeline.cpp
source/pipeline.h
source/renderable.cpp [deleted file]
source/renderable.h
source/scene.cpp
source/scene.h

index a27553a6236e029c27cfe547304b00e84371f5e5..4a2e5df13f745c82092feb4869eefeb828d4cdba 100644 (file)
@@ -130,21 +130,6 @@ const Technique *Object::get_technique(unsigned i) const
        return lods[i].technique.get();
 }
 
-void Object::render(const Tag &tag) const
-{
-       const RenderPass *pass = get_pass(tag, 0);
-       if(!pass)
-               return;
-
-       Bind bind_shader(pass->get_shader_program());
-       if(pass->get_shader_data())
-               pass->get_shader_data()->apply();
-       Bind bind_material(pass->get_material());
-       Bind bind_texturing(pass->get_texturing());
-
-       lods.front().mesh->draw();
-}
-
 void Object::render(Renderer &renderer, const Tag &tag) const
 {
        const RenderPass *pass = get_pass(tag, 0);
index 3d0415c66daa64b3c8ebb3436b0da037897912e9..88a5d9e91659189310d0f3b951841fe4ef5c4cbf 100644 (file)
@@ -107,8 +107,6 @@ public:
 
        virtual const Geometry::BoundingSphere<float, 3> *get_bounding_sphere() const { return &bounding_sphere; }
 
-       virtual void render(const Tag &tag = Tag()) const;
-
        virtual void render(Renderer &, const Tag & = Tag()) const;
 
        /** Renders an instance of the object.  The instance's hook functions are
index 4c4007233d2b9fd82cc82f9bf7cccdf0cc56f3e4..0469cb773643da9d7e11825c9de81cfaf6163963 100644 (file)
@@ -154,14 +154,11 @@ void Pipeline::finish_frame() const
                i->renderable->finish_frame();
 }
 
-void Pipeline::render(const Tag &tag) const
+void Pipeline::render() const
 {
-       if(tag.id)
-               return;
-
        Renderer renderer(camera);
        setup_frame();
-       render(renderer, tag);
+       render(renderer);
        finish_frame();
 }
 
index 9272f5875add3d1605fc6cd33657997552d95fd9..f6a4ab3371e7317dd904c66b3e7d3547c02a28c5 100644 (file)
@@ -107,7 +107,7 @@ public:
        virtual void setup_frame() const;
        virtual void finish_frame() const;
 
-       virtual void render(const Tag &tag = Tag()) const;
+       void render() const;
        virtual void render(Renderer &, const Tag &tag = Tag()) const;
 
 private:
diff --git a/source/renderable.cpp b/source/renderable.cpp
deleted file mode 100644 (file)
index 568df05..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-#include "error.h"
-#include "renderable.h"
-#include "renderer.h"
-
-namespace Msp {
-namespace GL {
-
-void Renderable::render(const Tag &) const
-{
-       throw invalid_operation("Renderable::render");
-}
-
-} // namespace Msp
-} // namespace GL
index 9a534e9038579f37256c2722f6681235dc062eea..18319cb4595a398aa362c70d583e8ec37665702b 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.
@@ -50,11 +50,6 @@ public:
        /** 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;
index b8a74b59be7f3c6be74c85a179994c07345755ae..3933599ba5c63f13307d1c755ba0cd9323842a1b 100644 (file)
@@ -15,12 +15,6 @@ Scene::~Scene()
                delete *i;
 }
 
-void Scene::render(const Tag &tag) const
-{
-       Renderer renderer(0);
-       render(renderer, tag);
-}
-
 bool Scene::setup_frustum(const Renderer &renderer) const
 {
        const Camera *camera = renderer.get_camera();
index a04fbc01f9a304c5969759fd6afc6380af52b8fe..9e2da3dfe97b620bf0f9008dc36ca2b22fbe7532 100644 (file)
@@ -42,9 +42,6 @@ public:
        virtual void add(const Renderable &) = 0;
        virtual void remove(const Renderable &) = 0;
 
-       using Renderable::render;
-       virtual void render(const Tag & = Tag()) const;
-
 protected:
        bool setup_frustum(const Renderer &) const;
        bool frustum_cull(const Renderable &) const;