]> git.tdb.fi Git - libs/gl.git/commitdiff
Pass the Renderer to ObjectInstance::get_level_of_detail
authorMikko Rasa <tdb@tdb.fi>
Sun, 26 Aug 2012 21:38:08 +0000 (00:38 +0300)
committerMikko Rasa <tdb@tdb.fi>
Sun, 26 Aug 2012 21:38:08 +0000 (00:38 +0300)
As I recall, the camera was put in renderer to allow view-dependent
rendering without the need to pass data outside the rendering pipeline.
This is one of the cases where it is needed.

source/object.cpp
source/objectinstance.h

index f23f66584880d0bd18a4bf55d9eaf6cc0dba3e7e..06062fc099da69e169f0f23431c5445ce931216b 100644 (file)
@@ -96,7 +96,7 @@ void Object::render(Renderer &renderer, const ObjectInstance &inst, const Tag &t
        renderer.set_texturing(pass->get_texturing());
 
        inst.setup_render(renderer, tag);
-       unsigned lod = min<unsigned>(inst.get_level_of_detail(), meshes.size()-1);
+       unsigned lod = min<unsigned>(inst.get_level_of_detail(renderer), meshes.size()-1);
        meshes[lod]->draw(renderer);
        inst.finish_render(renderer, tag);
 }
index 3dc5da6a399432bafa62197b01ae0e19d7475f5f..6094517b6d5c062ca220b14e686e5dade8802335 100644 (file)
@@ -41,7 +41,7 @@ public:
        anything. */
        virtual void finish_render(Renderer &, const Tag &) const { }
 
-       virtual unsigned get_level_of_detail() const { return 0; }
+       virtual unsigned get_level_of_detail(const Renderer &) const { return 0; }
 };
 
 } // namespace GL