X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Ftexunit.h;h=82c4b5795baafa5a095e1eb126b0b146ba5b5f63;hb=ab59f5a9e66b3fc7872ad96ec7949940189f0819;hp=5aec5b31127d032c3cf2da87ba5ba646e04d0643;hpb=84bc56b96c21c831104a22e0cbd0f3b72ab5d8c3;p=libs%2Fgl.git diff --git a/source/texunit.h b/source/texunit.h index 5aec5b31..82c4b579 100644 --- a/source/texunit.h +++ b/source/texunit.h @@ -6,24 +6,33 @@ namespace Msp { namespace GL { +class TexEnv; +class TexGen; class Texture; class TexUnit { +private: + const Texture *texture; + const TexEnv *texenv; + const TexGen *texgen[4]; + + static std::vector units; + static TexUnit *cur_unit; + public: TexUnit(); + bool set_texture(const Texture *); - const Texture *get_texture() { return texture; } - //TexEnv &get_env() { return env; } + 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); + static unsigned get_n_units(); static TexUnit &activate(unsigned); static TexUnit ¤t(); -private: - const Texture *texture; - //TexEnv env; - - static std::vector units; - static TexUnit *cur_unit; }; } // namespace GL