X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fobject.cpp;h=dba9774e7531fa0f7549f56341ed08d19646a6be;hb=4324df6e3d807d35e02e828320e436c509275520;hp=7250caf8f9bc22272c4e859882ee17229298f97a;hpb=a361efc05fcad11b2918f3cd7abdebe794b131d8;p=libs%2Fgl.git diff --git a/source/object.cpp b/source/object.cpp index 7250caf8..dba9774e 100644 --- a/source/object.cpp +++ b/source/object.cpp @@ -48,14 +48,24 @@ const ObjectPass &Object::get_pass(const string &pn) const return i->second; } -void Object::render(const ObjectInstance *inst) const +void Object::render() const { - render(*normal_pass, inst); + render(*normal_pass, 0); } -void Object::render(const string &pn, const ObjectInstance *inst) const +void Object::render(const ObjectInstance &inst) const { - render(get_pass(pn), inst); + render(*normal_pass, &inst); +} + +void Object::render(const string &pn) const +{ + render(get_pass(pn), 0); +} + +void Object::render(const string &pn, const ObjectInstance &inst) const +{ + render(get_pass(pn), &inst); } void Object::render(const list &insts) const @@ -164,7 +174,7 @@ Object::Loader::~Loader() void Object::Loader::lod_mesh(unsigned l, const string &n) { obj.meshes.resize(l+1, 0); - obj.meshes[l]=&coll.get(n); + obj.meshes[l]=coll.get(n); } void Object::Loader::material_inline() @@ -178,7 +188,7 @@ void Object::Loader::material_inline() void Object::Loader::mesh(const string &n) { - obj.meshes[0]=&coll.get(n); + obj.meshes[0]=coll.get(n); } void Object::Loader::pass(const string &n) @@ -192,7 +202,7 @@ void Object::Loader::pass(const string &n) void Object::Loader::shader(const string &n) { - Program *shprog=&coll.get(n); + Program *shprog=coll.get(n); if(shprog) // Allow for unsupported shaders { RefPtr shdata=new ProgramData; @@ -210,12 +220,12 @@ void Object::Loader::texture(const string &n) unsigned eqsign=n.find('='); if(eqsign!=string::npos) { - obj.textures.push_back(&coll.get(n.substr(eqsign+1))); + obj.textures.push_back(coll.get(n.substr(eqsign+1))); textures.push_back(n.substr(0, eqsign)); } else { - obj.textures.push_back(&coll.get(n)); + obj.textures.push_back(coll.get(n)); textures.push_back(n); } }