]> git.tdb.fi Git - libs/gl.git/blobdiff - source/core/sampler.h
Rewrite state management
[libs/gl.git] / source / core / sampler.h
index 79aea8f8b76621f6ed9f5e5f44d0df08bf84aa0d..ff9201860e69bc4c7cc6ed8af2dc512940ac5615 100644 (file)
@@ -99,7 +99,6 @@ private:
        };
 
        unsigned id;
-       const Texture *owner;
        TextureFilter min_filter;
        TextureFilter mag_filter;
        float max_anisotropy;
@@ -113,11 +112,9 @@ private:
 
 public:
        Sampler();
-       Sampler(const Texture &);
-private:
-       void init();
 
-       void update_parameter(int) const;
+private:
+       void update() const;
        void set_parameter_i(unsigned, int) const;
        void set_parameter_f(unsigned, float) const;
        void set_parameter_fv(unsigned, const float *) const;
@@ -158,14 +155,11 @@ public:
        bool is_compare_enabled() const { return compare; }
        Predicate get_compare_function() const { return cmp_func; }
 
-       void bind() const { bind_to(0); }
-       void bind_to(unsigned) const;
+       void refresh() const { if(dirty_params) update(); }
 
-       static const Sampler *current(unsigned = 0);
-       static void unbind() { unbind_from(0); }
-       static void unbind_from(unsigned);
+       unsigned get_id() const { return id; }
 
-       void unload();
+       void set_debug_name(const std::string &);
 };