]> git.tdb.fi Git - libs/gl.git/blobdiff - source/materials/technique.h
Set OpenGL debug labels on various objects loaded from Resources
[libs/gl.git] / source / materials / technique.h
index 762b98f4f9afe1d977e4c663397617c6d6d2205f..47a307c9af318b111ef2266b93fc9442ece058e1 100644 (file)
@@ -18,12 +18,16 @@ class Technique
 public:
        class Loader: public Msp::DataFile::CollectionObjectLoader<Technique>
        {
+       private:
+               static ActionMap shared_actions;
+
        public:
                Loader(Technique &);
                Loader(Technique &, Collection &);
 
        private:
-               void init();
+               virtual void init_actions();
+
                void inherit(const std::string &);
                void pass(const std::string &);
        };
@@ -47,15 +51,17 @@ private:
        PassMap passes;
 
 public:
-       RenderPass &add_pass(const Tag &);
-       bool has_pass(const Tag &) const;
-       const RenderPass &get_pass(const Tag &) const;
-       const RenderPass *find_pass(const Tag &) const;
+       RenderPass &add_pass(Tag);
+       bool has_pass(Tag) const;
+       const RenderPass &get_pass(Tag) const;
+       const RenderPass *find_pass(Tag) const;
        const PassMap &get_passes() const { return passes; }
        bool replace_texture(const std::string &, const Texture &);
        bool replace_material(const std::string &, const Material &);
        bool replace_uniforms(const ProgramData &);
        bool has_shaders() const;
+
+       void set_debug_name(const std::string &);
 };
 
 } // namespace GL