]> git.tdb.fi Git - libs/gl.git/blobdiff - source/materials/technique.cpp
Set OpenGL debug labels on various objects loaded from Resources
[libs/gl.git] / source / materials / technique.cpp
index 12111e5e675305aa98859bf1ba58f2c332bb544e..b5ed6447c314c3e69be3bfe0fcb0c08be67cfc07 100644 (file)
@@ -101,20 +101,32 @@ bool Technique::has_shaders() const
        return false;
 }
 
+void Technique::set_debug_name(const std::string &name)
+{
+#ifdef DEBUG
+       for(map<Tag, RenderPass>::iterator i=passes.begin(); i!=passes.end(); ++i)
+               i->second.set_debug_name(format("%s [pass:%s]", name, i->first.str()));
+#else
+       (void)name;
+#endif
+}
+
+
+DataFile::Loader::ActionMap Technique::Loader::shared_actions;
 
 Technique::Loader::Loader(Technique &t):
        DataFile::CollectionObjectLoader<Technique>(t, 0)
 {
-       init();
+       set_actions(shared_actions);
 }
 
 Technique::Loader::Loader(Technique &t, Collection &c):
        DataFile::CollectionObjectLoader<Technique>(t, &c)
 {
-       init();
+       set_actions(shared_actions);
 }
 
-void Technique::Loader::init()
+void Technique::Loader::init_actions()
 {
        add("inherit", &Loader::inherit);
        add("pass", &Loader::pass);