]> git.tdb.fi Git - libs/gl.git/blobdiff - source/materials/technique.h
Add inline data items to the collection
[libs/gl.git] / source / materials / technique.h
index 762b98f4f9afe1d977e4c663397617c6d6d2205f..a7999c0cf67652a140a219c24258e2a3e210ee39 100644 (file)
@@ -18,12 +18,21 @@ class Technique
 public:
        class Loader: public Msp::DataFile::CollectionObjectLoader<Technique>
        {
+       private:
+               std::string inline_base_name;
+
+               static ActionMap shared_actions;
+
        public:
                Loader(Technique &);
                Loader(Technique &, Collection &);
+       private:
+               virtual void init_actions();
+
+       public:
+               void set_inline_base_name(const std::string &);
 
        private:
-               void init();
                void inherit(const std::string &);
                void pass(const std::string &);
        };
@@ -47,15 +56,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