X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fcore%2Fsampler.h;h=43d1e5412a2fe3df0bb732ac42bc6b1344e1b003;hb=b7ecc29c204faede028556d1942b2d61d5cda9ee;hp=f68f1a16183545c315a224017bd7b1ddd292adae;hpb=fcde8390ad577fe434dcd4b29e0f410d29f867c9;p=libs%2Fgl.git diff --git a/source/core/sampler.h b/source/core/sampler.h index f68f1a16..43d1e541 100644 --- a/source/core/sampler.h +++ b/source/core/sampler.h @@ -46,8 +46,6 @@ enum TextureWrap MIRRORED_REPEAT = GL_MIRRORED_REPEAT }; -class Texture; - /** Samplers are used to access texture data in shaders. To use a sampler with a @@ -99,7 +97,6 @@ private: }; unsigned id; - const Texture *owner; TextureFilter min_filter; TextureFilter mag_filter; float max_anisotropy; @@ -113,14 +110,9 @@ private: public: Sampler(); - Sampler(const Texture &); -private: - void init(); - void update_parameter(int) const; - void set_parameter_i(unsigned, int) const; - void set_parameter_f(unsigned, float) const; - void set_parameter_fv(unsigned, const float *) const; +private: + void update() const; public: void set_min_filter(TextureFilter); @@ -158,14 +150,9 @@ 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; - - static const Sampler *current(unsigned = 0); - static void unbind() { unbind_from(0); } - static void unbind_from(unsigned); + void refresh() const { if(dirty_params) update(); } - void unload(); + unsigned get_id() const { return id; } void set_debug_name(const std::string &); };