-/* $Id$
-
-This file is part of libmspgl
-Copyright © 2007 Mikko Rasa, Mikkosoft Productions
-Distributed under the LGPL
-*/
-
#ifndef TECHNIQUE_H_
#define TECHNIQUE_H_
-#include "objectpass.h"
+#include "renderpass.h"
+#include "tag.h"
namespace Msp {
namespace GL {
class Material;
-class Tag;
class Texture;
/**
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 &);
};
void texture(const std::string &, const std::string &);
};
+public:
typedef std::map<Tag, RenderPass> PassMap;
+private:
PassMap passes;
public:
+ RenderPass &add_pass(const GL::Tag &);
bool has_pass(const GL::Tag &) const;
const RenderPass &get_pass(const GL::Tag &) const;
const PassMap &get_passes() const { return passes; }
+ bool has_shaders() const;
};
} // namespace GL