]> git.tdb.fi Git - libs/gl.git/blobdiff - source/materials/technique.h
Remove deprecated interfaces from material and lighting code
[libs/gl.git] / source / materials / technique.h
index c3b5245357180a8e1993fb63a831efbc60db72c0..c2b69bf7bc48625b4eae4e5526aab001731c19cb 100644 (file)
@@ -1,6 +1,7 @@
 #ifndef MSP_GL_TECHNIQUE_H_
 #define MSP_GL_TECHNIQUE_H_
 
+#include <map>
 #include "renderpass.h"
 #include "tag.h"
 
@@ -18,12 +19,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 &);
        };
@@ -40,22 +50,19 @@ private:
                void uniforms();
        };
 
-public:
-       typedef std::map<Tag, RenderPass> PassMap;
-
-private:
-       PassMap passes;
+       std::map<Tag, RenderPass> passes;
 
 public:
        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; }
+       const std::map<Tag, RenderPass> &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