X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Ftexenv.cpp;fp=source%2Ftexenv.cpp;h=ff9ea197b982cdb6a092137f14c5c8f8709e2d68;hb=dcd8bd3a16a4af8e77aa84877b3f8a4fb03b8c7e;hp=ff77e8cead0d6afb77fe51fd837b960377be8096;hpb=48b1ab4fff00c49cc15d70a354eedb3d7a2f3e87;p=libs%2Fgl.git diff --git a/source/texenv.cpp b/source/texenv.cpp index ff77e8ce..ff9ea197 100644 --- a/source/texenv.cpp +++ b/source/texenv.cpp @@ -5,9 +5,16 @@ namespace Msp { namespace GL { TexEnv::TexEnv(): - mode(MODULATE) + mode(MODULATE), + color(0, 0, 0, 0) { } +const TexEnv &TexEnv::default_object() +{ + static TexEnv obj; + return obj; +} + void TexEnv::set_mode(TexEnvMode m) { mode = m; @@ -40,14 +47,7 @@ const TexEnv *TexEnv::current(unsigned i) void TexEnv::unbind_from(unsigned i) { - TexUnit &unit = TexUnit::get_unit(i); - if(unit.set_texenv(0)) - { - unit.bind(); - Color black(0, 0, 0, 0); - glTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, MODULATE); - glTexEnvfv(GL_TEXTURE_ENV, GL_TEXTURE_ENV_COLOR, &black.r); - } + default_object().bind_to(i); } } // namespace GL