return get_item(passes, tag);
}
+const RenderPass *Technique::find_pass(const Tag &tag) const
+{
+ PassMap::const_iterator i = passes.find(tag);
+ return (i!=passes.end() ? &i->second : 0);
+}
+
bool Technique::replace_texture(const string &slot, const Texture &tex)
{
bool replaced = false;
else
load_sub(p);
+ if(!p.get_shader_program())
+ throw logic_error("no shader program in pass");
+
insert_unique(obj.passes, n, p);
}