X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fmaterials%2Ftechnique.h;h=c2b69bf7bc48625b4eae4e5526aab001731c19cb;hb=5008778dbb1840bf7c6d479800d2b932f8386fb2;hp=47a307c9af318b111ef2266b93fc9442ece058e1;hpb=fcde8390ad577fe434dcd4b29e0f410d29f867c9;p=libs%2Fgl.git diff --git a/source/materials/technique.h b/source/materials/technique.h index 47a307c9..c2b69bf7 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" @@ -19,15 +20,20 @@ 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 inherit(const std::string &); void pass(const std::string &); }; @@ -44,22 +50,17 @@ private: void uniforms(); }; -public: - typedef std::map PassMap; - -private: - PassMap passes; + std::map 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 &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 &); };