+public:
+ ~Texture();
+
+protected:
+ void update_parameter(int) const;
+public:
+ void set_min_filter(TextureFilter);
+ void set_mag_filter(TextureFilter);
+ void set_wrap(TextureWrap);
+ void set_wrap_s(TextureWrap);
+ void set_wrap_t(TextureWrap);
+ void set_wrap_r(TextureWrap);
+ void set_generate_mipmap(bool);
+ void set_compare_enabled(bool);
+ void set_compare_func(Predicate);
+ GLenum get_target() const { return target; }
+ unsigned get_id() const { return id; }
+
+ void bind() const;
+ void bind_to(unsigned) const;
+
+ static const Texture *current();
+ static void unbind();
+ static void unbind_from(unsigned);