+++ /dev/null
-#ifndef MSP_GL_TECHNIQUE_H_
-#define MSP_GL_TECHNIQUE_H_
-
-#include "renderpass.h"
-#include "tag.h"
-
-namespace Msp {
-namespace GL {
-
-class Material;
-class Texture;
-
-/**
-Ties multiple tagged render passes together.
-*/
-class Technique
-{
-public:
- class Loader: public Msp::DataFile::CollectionObjectLoader<Technique>
- {
- public:
- Loader(Technique &);
- Loader(Technique &, Collection &);
-
- private:
- void init();
- void inherit(const std::string &);
- void pass(const std::string &);
- };
-
-private:
- class InheritLoader: public Msp::DataFile::CollectionObjectLoader<Technique>
- {
- public:
- InheritLoader(Technique &, Collection &);
-
- private:
- void material(const std::string &, const std::string &);
- void texture(const std::string &, const std::string &);
- };
-
-public:
- typedef std::map<Tag, RenderPass> PassMap;
-
-private:
- PassMap passes;
-
-public:
- RenderPass &add_pass(const Tag &);
- bool has_pass(const Tag &) const;
- const RenderPass &get_pass(const Tag &) const;
- const PassMap &get_passes() const { return passes; }
- bool replace_texture(const std::string &, const Texture &);
- bool has_shaders() const;
-};
-
-} // namespace GL
-} // namespace Msp
-
-#endif