- void render(const std::list<const ObjectInstance *> &) const;
- void render(const std::string &, const std::list<const ObjectInstance *> &) const;
+ virtual void render(const ObjectInstance &, const Tag &tag=Tag()) const;
+
+ /**
+ Renders multiple instances of the object in one go. This may improve
+ performance, as the object-specific render setup only has to be done once.
+ Each instance's hook functions will be called before and after drawing the
+ mesh.
+ */
+ template<typename Iter>
+ void render(Iter begin, Iter end, const Tag &tag=Tag()) const
+ { render(get_pass(tag), begin, end); }