X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fmaterials%2Ftechnique.h;h=419c676570a653b41549b65b8467d1fa84a1ad58;hb=5bb193f930fb8738d099d630c4d625d82c1215b5;hp=762b98f4f9afe1d977e4c663397617c6d6d2205f;hpb=7aaec9a70b8d7733429bec043f8e33e02956f266;p=libs%2Fgl.git diff --git a/source/materials/technique.h b/source/materials/technique.h index 762b98f4..419c6765 100644 --- a/source/materials/technique.h +++ b/source/materials/technique.h @@ -1,6 +1,7 @@ #ifndef MSP_GL_TECHNIQUE_H_ #define MSP_GL_TECHNIQUE_H_ +#include #include "renderpass.h" #include "tag.h" @@ -18,12 +19,21 @@ class Technique public: class Loader: public Msp::DataFile::CollectionObjectLoader { + 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,20 @@ private: void uniforms(); }; -public: - typedef std::map PassMap; - -private: - PassMap passes; + std::map 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; - const PassMap &get_passes() const { return passes; } + RenderPass &add_pass(Tag); + bool has_pass(Tag) const; + const RenderPass &get_pass(Tag) const; + const RenderPass *find_pass(Tag) const; + const std::map &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; + DEPRECATED bool has_shaders() const; + + void set_debug_name(const std::string &); }; } // namespace GL