X-Git-Url: http://git.tdb.fi/?p=libs%2Fgl.git;a=blobdiff_plain;f=source%2Ftexunit.h;h=6253d8d914f52c85f7f9eec6a4beae0fcd733722;hp=8962e63839cc6dd2f68113917396bf3816889056;hb=bec07999d95b76f4b47cffcc564d0cd0afc0435e;hpb=a1eb8711ba225bb4423868c50369ad5592465171 diff --git a/source/texunit.h b/source/texunit.h index 8962e638..6253d8d9 100644 --- a/source/texunit.h +++ b/source/texunit.h @@ -6,41 +6,36 @@ namespace Msp { namespace GL { -class TexEnv; -class TexGen; +class Sampler; class Texture; /** -Keeps track of texture unit related state. Mostly for internal use. +Keeps track of texture unit related state. Intended for internal use. */ class TexUnit { private: unsigned index; const Texture *texture; - const TexEnv *texenv; - const TexGen *texgen[4]; + const Sampler *sampler; static std::vector units; static TexUnit *cur_unit; -public: TexUnit(); +public: unsigned get_index() const { return index; } bool set_texture(const Texture *); const Texture *get_texture() const { return texture; } - bool set_texenv(const TexEnv *); - const TexEnv *get_texenv() const { return texenv; } - bool set_texgen(unsigned, const TexGen *); - const TexGen *get_texgen(unsigned); + bool set_sampler(const Sampler *); + const Sampler *get_sampler() const { return sampler; } void bind(); static unsigned get_n_units(); static TexUnit &get_unit(unsigned); static TexUnit ¤t(); static TexUnit *find_unit(const Texture *); - static TexUnit *find_unit(const TexEnv *); }; } // namespace GL