1 #ifndef MSP_GL_TEXTURING_H_
2 #define MSP_GL_TEXTURING_H_
12 class Texturing: public Bindable<Texturing>
18 const Texture *texture;
19 const Sampler *sampler;
21 Attachment(unsigned, const Texture *, const Sampler *);
24 std::vector<Attachment> attachments;
29 int find_free_unit(const std::string & = std::string()) const;
30 void attach(unsigned, const Texture &, const Sampler * = 0);
31 void attach(unsigned, const Sampler &);
32 void detach(unsigned);
34 void set_attachment(unsigned, const Texture *, const Sampler *);
36 const Texture *get_attached_texture(unsigned) const;
37 const Sampler *get_attached_sampler(unsigned) const;
44 void bind_attachment(const Attachment &) const;
45 static void unbind_attachment(unsigned);