namespace Msp {
namespace GL {
+RenderPass &Technique::add_pass(const GL::Tag &tag)
+{
+ if(passes.count(tag))
+ throw KeyError("Duplicate pass");
+
+ return passes[tag];
+}
+
bool Technique::has_pass(const GL::Tag &tag) const
{
return passes.count(tag);
const RenderPass &Technique::get_pass(const GL::Tag &tag) const
{
- PassMap::const_iterator i=passes.find(tag);
+ PassMap::const_iterator i = passes.find(tag);
if(i==passes.end())
throw KeyError("Unknown pass");
return i->second;
void Technique::Loader::inherit(const string &n)
{
- obj.passes=get_collection().get<Technique>(n)->get_passes();
+ obj.passes = get_collection().get<Technique>(n)->get_passes();
InheritLoader ldr(obj, get_collection());
load_sub_with(ldr);
}
add("texture", &InheritLoader::texture);
}
-void Technique::InheritLoader::texture(const string &slot, const string &name)
+void Technique::InheritLoader::texture(unsigned index, const string &name)
{
- Texture *tex=get_collection().get<Texture>(name);
+ Texture *tex = get_collection().get<Texture>(name);
for(PassMap::iterator i=obj.passes.begin(); i!=obj.passes.end(); ++i)
{
try
{
- i->second.set_texture(slot, tex);
+ i->second.set_texture(index, tex);
}
catch(const KeyError &)
{ }