]> git.tdb.fi Git - libs/gl.git/blob - source/pipelinebuilder.h
Fixes and improvements to exporting materials
[libs/gl.git] / source / pipelinebuilder.h
1 #ifndef PIPELINEBUILDER_H_
2 #define PIPELINEBUILDER_H_
3
4 #include <map>
5 #include <string>
6
7 namespace Msp {
8 namespace GL {
9
10 class Framebuffer;
11 class Pipeline;
12 class PipelineTemplate;
13 class Renderable;
14 class View;
15
16 class PipelineBuilder
17 {
18 private:
19         const PipelineTemplate &tmpl;
20         std::map<std::string, Renderable *> renderables;
21
22 public:
23         PipelineBuilder(const PipelineTemplate &);
24
25         void set_renderable(const std::string &, Renderable &);
26
27         void build(Pipeline &) const;
28         Pipeline *build(unsigned, unsigned) const;
29         Pipeline *build(const View &) const;
30         Pipeline *build(const Framebuffer &) const;
31 };
32
33 } // namespace GL
34 } // namespace Msp
35
36 #endif