X-Git-Url: http://git.tdb.fi/?p=libs%2Fgl.git;a=blobdiff_plain;f=source%2Ftexturing.h;h=0da3eae41794d167d5ee9421943cdac29c9cc74f;hp=cba77e3fb3e49a57e4ca98f7bb698f7ddf7f8489;hb=6cbcaf877f0be27b4d921d1c182f5e21d4662268;hpb=635e5dc39adf09051bdacadbc402ddf22f7807a3 diff --git a/source/texturing.h b/source/texturing.h index cba77e3f..0da3eae4 100644 --- a/source/texturing.h +++ b/source/texturing.h @@ -16,8 +16,9 @@ private: { unsigned unit; const Texture *texture; + const Sampler *sampler; - Attachment(unsigned, const Texture *); + Attachment(unsigned, const Texture *, const Sampler *); }; std::vector attachments; @@ -26,16 +27,22 @@ public: ~Texturing(); int find_free_unit(const std::string & = std::string()) const; - void attach(unsigned, const Texture &); + void attach(unsigned, const Texture &, const Sampler * = 0); + void attach(unsigned, const Sampler &); void detach(unsigned); private: - void set_attachment(unsigned, const Texture *); + void set_attachment(unsigned, const Texture *, const Sampler *); public: const Texture *get_attached_texture(unsigned) const; + const Sampler *get_attached_sampler(unsigned) const; void bind() const; static void unbind(); + +private: + void bind_attachment(const Attachment &) const; + static void unbind_attachment(unsigned); }; } // namespace GL