X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Ftexture.cpp;h=40f18d45eff1f0c8d10d2363d8ea2a6123bbc650;hb=b617c5d7b5283ad260a77f01e42e6170cabbc03d;hp=d71f38c2f1f2efba27edf95c57925c0a11946f54;hpb=d16a4ab73f87d177296b59f04880ef7eba593df7;p=libs%2Fgl.git diff --git a/source/texture.cpp b/source/texture.cpp index d71f38c2..40f18d45 100644 --- a/source/texture.cpp +++ b/source/texture.cpp @@ -20,17 +20,17 @@ istream &operator>>(istream &in, TextureFilter &tf) in>>str; if(str=="NEAREST") - tf=NEAREST; + tf = NEAREST; else if(str=="LINEAR") - tf=LINEAR; + tf = LINEAR; else if(str=="NEAREST_MIPMAP_NEAREST") - tf=NEAREST_MIPMAP_NEAREST; + tf = NEAREST_MIPMAP_NEAREST; else if(str=="NEAREST_MIPMAP_LINEAR") - tf=NEAREST_MIPMAP_LINEAR; + tf = NEAREST_MIPMAP_LINEAR; else if(str=="LINEAR_MIPMAP_NEAREST") - tf=LINEAR_MIPMAP_NEAREST; + tf = LINEAR_MIPMAP_NEAREST; else if(str=="LINEAR_MIPMAP_LINEAR") - tf=LINEAR_MIPMAP_LINEAR; + tf = LINEAR_MIPMAP_LINEAR; else in.setstate(ios_base::failbit); @@ -43,7 +43,7 @@ void Texture::bind() const if(!target) throw InvalidState("Attempt to bind a texture without target"); - const Texture *cur=TexUnit::current().get_texture(); + const Texture *cur = TexUnit::current().get_texture(); if(cur!=this) { if(cur && cur->target!=target) @@ -82,7 +82,7 @@ Texture::~Texture() void Texture::unbind() { - const Texture *cur=TexUnit::current().get_texture(); + const Texture *cur = TexUnit::current().get_texture(); if(!cur) return; @@ -91,6 +91,12 @@ void Texture::unbind() TexUnit::current().set_texture(0); } +void Texture::unbind_from(unsigned i) +{ + TexUnit::activate(i); + unbind(); +} + Texture::Texture(): target(0) { @@ -105,7 +111,7 @@ void Texture::maybe_bind() const Texture::Loader::Loader(Texture &t): - tex(t) + DataFile::ObjectLoader(t) { add("min_filter", &Loader::min_filter); add("mag_filter", &Loader::mag_filter); @@ -114,17 +120,17 @@ Texture::Loader::Loader(Texture &t): void Texture::Loader::min_filter(TextureFilter f) { - tex.set_min_filter(f); + obj.set_min_filter(f); } void Texture::Loader::mag_filter(TextureFilter f) { - tex.set_mag_filter(f); + obj.set_mag_filter(f); } void Texture::Loader::generate_mipmap(bool gm) { - tex.parameter(GL_GENERATE_MIPMAP_SGIS, gm); + obj.parameter(GL_GENERATE_MIPMAP_SGIS, gm); } } // namespace GL