#ifndef MSP_GL_TECHNIQUE_H_
#define MSP_GL_TECHNIQUE_H_
-#include "renderpass.h"
+#include <map>
+#include "rendermethod.h"
#include "tag.h"
namespace Msp {
class Texture;
/**
-Ties multiple tagged render passes together.
+Ties multiple tagged render methods together.
*/
class Technique
{
static ActionMap shared_actions;
public:
- Loader(Technique &);
Loader(Technique &, Collection &);
private:
virtual void init_actions();
private:
void inherit(const std::string &);
- void pass(const std::string &);
+ void method(const std::string &);
};
private:
void uniforms();
};
-public:
- typedef std::map<Tag, RenderPass> PassMap;
-
-private:
- PassMap passes;
+ std::map<Tag, RenderMethod> methods;
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; }
+ RenderMethod &add_method(Tag);
+ bool has_method(Tag) const;
+ const RenderMethod &get_method(Tag) const;
+ const RenderMethod *find_method(Tag) const;
+ const std::map<Tag, RenderMethod> &get_methods() const { return methods; }
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 &);
};