--- /dev/null
+#ifndef PIPELINEBUILDER_H_
+#define PIPELINEBUILDER_H_
+
+#include <map>
+#include <string>
+
+namespace Msp {
+namespace GL {
+
+class Pipeline;
+class PipelineTemplate;
+class Renderable;
+class View;
+
+class PipelineBuilder
+{
+private:
+ const PipelineTemplate &tmpl;
+ std::map<std::string, Renderable *> renderables;
+
+public:
+ PipelineBuilder(const PipelineTemplate &);
+
+ void set_renderable(const std::string &, Renderable &);
+
+ void build(Pipeline &) const;
+ Pipeline *build(const View &) const;
+};
+
+} // namespace GL
+} // namespace Msp
+
+#endif