]> git.tdb.fi Git - libs/gl.git/blobdiff - source/texturing.h
Remove the deprecated ProgramBuilder class
[libs/gl.git] / source / texturing.h
index cba77e3fb3e49a57e4ca98f7bb698f7ddf7f8489..0da3eae41794d167d5ee9421943cdac29c9cc74f 100644 (file)
@@ -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<Attachment> 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