]> git.tdb.fi Git - libs/gl.git/blobdiff - source/technique.cpp
Bind ProgramData to a Program upon construction
[libs/gl.git] / source / technique.cpp
index 74505c8e0b15ce6d457cf08369592c2e8084bfa8..9d13a8976ac4b40f56f077b4a4fcf5120bdea4f1 100644 (file)
@@ -20,6 +20,14 @@ using namespace std;
 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);
@@ -80,14 +88,14 @@ Technique::InheritLoader::InheritLoader(Technique &t, Collection &c):
        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);
        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 &)
                { }