X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Ftexturing.h;h=cba77e3fb3e49a57e4ca98f7bb698f7ddf7f8489;hb=180b20bee11425a776c5ead05afcf6a63945d3b2;hp=2b409d64fb713ee221a4842110832258bd92f711;hpb=0f890ce60a560ba2ccc0719229be304bb597d919;p=libs%2Fgl.git diff --git a/source/texturing.h b/source/texturing.h index 2b409d64..cba77e3f 100644 --- a/source/texturing.h +++ b/source/texturing.h @@ -12,13 +12,20 @@ class Texture; class Texturing: public Bindable { private: - std::vector attachments; + struct Attachment + { + unsigned unit; + const Texture *texture; - static bool legacy_used; + Attachment(unsigned, const Texture *); + }; + + std::vector attachments; public: ~Texturing(); + int find_free_unit(const std::string & = std::string()) const; void attach(unsigned, const Texture &); void detach(unsigned); private: @@ -26,13 +33,7 @@ private: public: const Texture *get_attached_texture(unsigned) const; -private: - void bind_attachment(unsigned, bool) const; - - static void unbind_attachment(unsigned); - -public: - void bind(bool = true) const; + void bind() const; static void unbind(); };