X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;ds=sidebyside;f=source%2Fobject.h;fp=source%2Fobject.h;h=4655695b355583d40598a7186eeab915c497d016;hb=2f09d68a0844d2838d116d93d3ecc69723b52f16;hp=2b5f4a850d8aa7b483fde3cf1eb932d4c9efc9e2;hpb=936a307eaf8dafd0874c74d211e991bd81a74387;p=libs%2Fgl.git diff --git a/source/object.h b/source/object.h index 2b5f4a85..4655695b 100644 --- a/source/object.h +++ b/source/object.h @@ -31,10 +31,8 @@ similar objects. See class ObjectInstance. class Object: public Renderable { private: - std::vector meshes; - Technique *technique; - bool own_mesh:1; - bool own_technique:1; + std::vector > meshes; + RefPtr technique; public: class Loader: public DataFile::CollectionObjectLoader @@ -46,16 +44,21 @@ public: void init(); private: - void lod_mesh(unsigned, const std::string &); void mesh(); + void mesh(unsigned); void mesh(const std::string &); + void mesh(unsigned, const std::string &); void technique(); + void technique(const std::string &); }; Object(); ~Object(); - const Technique *get_technique() const { return technique; } + void set_mesh(const Mesh *m) { set_mesh(0, m); } + void set_mesh(unsigned, const Mesh *); + void set_technique(const Technique *); + const Technique *get_technique() const { return technique.get(); } /** Renders the object. A tag can be provided to render a non-default pass.