X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fmaterials%2Ftechnique.cpp;fp=source%2Fmaterials%2Ftechnique.cpp;h=a382376eb13351e2fe03d59c29eadb55bee62289;hb=fa2b4c8a93ebad2497cacfdeaa9a2c20be486520;hp=22f8f3b63a0752ce547863a35eafa455f2e4f3ee;hpb=20622e74de6753c5e4460a112c11ee913707e8e8;p=libs%2Fgl.git diff --git a/source/materials/technique.cpp b/source/materials/technique.cpp index 22f8f3b6..a382376e 100644 --- a/source/materials/technique.cpp +++ b/source/materials/technique.cpp @@ -69,20 +69,20 @@ bool Technique::replace_material(const string &slot, const Material &mat) bool Technique::replace_uniforms(const ProgramData &shdata) { bool replaced = false; - const vector &uniform_names = shdata.get_uniform_names(); + const vector &uniform_tags = shdata.get_uniform_tags(); for(PassMap::iterator i=passes.begin(); i!=passes.end(); ++i) { RefPtr new_shdata; - for(vector::const_iterator j=uniform_names.begin(); j!=uniform_names.end(); ++j) + for(vector::const_iterator j=uniform_tags.begin(); j!=uniform_tags.end(); ++j) { - const string &name = i->second.get_slotted_uniform_name(*j); - if(name.empty()) + Tag tag = i->second.get_slotted_uniform_tag(*j); + if(!tag.id) continue; if(!new_shdata) new_shdata = new ProgramData(*i->second.get_shader_data()); - new_shdata->uniform(name, shdata.get_uniform(*j)); + new_shdata->uniform(tag, shdata.get_uniform(*j)); replaced = true; }