X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Ftexture.cpp;h=b8c14792dad403e9fd98e2885dc99188fd17be80;hb=47f817343df1d06d91a4f7c4d5b47df40b24366c;hp=401cb968578d9d9eb7ac7e433869929d3f221e2f;hpb=d6db27e633b1b8850fb093a8e5fad439ac3b0465;p=libs%2Fgl.git diff --git a/source/texture.cpp b/source/texture.cpp index 401cb968..b8c14792 100644 --- a/source/texture.cpp +++ b/source/texture.cpp @@ -407,6 +407,11 @@ void Texture::Loader::init() add("wrap_t", &Loader::wrap_t); } +unsigned Texture::Loader::get_levels() const +{ + return (is_mipmapped(obj.default_sampler.get_min_filter()) ? levels : 1); +} + void Texture::Loader::external_image(const string &fn) { Graphics::Image img; @@ -415,7 +420,7 @@ void Texture::Loader::external_image(const string &fn) throw IO::file_not_found(fn); img.load_io(*io); - obj.image(img, levels, srgb); + obj.image(img, get_levels(), srgb); } void Texture::Loader::filter(TextureFilter f) @@ -434,7 +439,7 @@ void Texture::Loader::image_data(const string &data) IO::Memory mem(data.data(), data.size()); img.load_io(mem); - obj.image(img, levels, srgb); + obj.image(img, get_levels(), srgb); } void Texture::Loader::mag_filter(TextureFilter f)