X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Ftexturing.h;h=cba77e3fb3e49a57e4ca98f7bb698f7ddf7f8489;hb=42293e1bd6f3d6297a1d0207ca69e7864a7d76e8;hp=daeb2bb812d7bfe62331951070a9fb4977d18490;hpb=f1b12c992db974c679d85ae6ec22cd318199d0d5;p=libs%2Fgl.git diff --git a/source/texturing.h b/source/texturing.h index daeb2bb8..cba77e3f 100644 --- a/source/texturing.h +++ b/source/texturing.h @@ -14,9 +14,10 @@ class Texturing: public Bindable private: struct Attachment { - const Texture *tex; + unsigned unit; + const Texture *texture; - Attachment(); + Attachment(unsigned, const Texture *); }; std::vector attachments; @@ -24,15 +25,14 @@ private: public: ~Texturing(); + int find_free_unit(const std::string & = std::string()) const; void attach(unsigned, const Texture &); void detach(unsigned); private: void set_attachment(unsigned, const Texture *); - void bind_attachment(unsigned) const; - - static void unbind_attachment(unsigned); - public: + const Texture *get_attached_texture(unsigned) const; + void bind() const; static void unbind();