#include <vector>
#include <msp/datafile/collection.h>
#include "objectpass.h"
+#include "renderable.h"
namespace Msp {
namespace GL {
See also class ObjectInstance.
*/
-class Object
+class Object: public Renderable
{
private:
std::vector<Mesh *> meshes;
Object();
~Object();
- bool has_pass(const std::string &) const;
+ virtual bool has_pass(const std::string &) const;
const ObjectPass &get_pass(const std::string &) const;
/**
Renders the object. If an ObjectInstance is provided, its hook functions
are called.
*/
- void render(const ObjectInstance * =0) const;
- void render(const std::string &, const ObjectInstance *) const;
+ virtual void render() const;
+ virtual void render(const ObjectInstance &) const;
+ virtual void render(const std::string &) const;
+ virtual void render(const std::string &, const ObjectInstance &) const;
/**
Renders multiple instances of the object in one go. This may be a