diff options
author | Lars Hofhansl <larsh@apache.org> | 2017-11-04 18:05:47 -0700 |
---|---|---|
committer | SmallJoker <mk939@ymail.com> | 2018-06-03 17:32:00 +0200 |
commit | 0cfe3a810aee9311e8df811b28ae86948f924ae0 (patch) | |
tree | e9871ca6b692228141c8f577330db65244216de1 /src/client | |
parent | 6808a3d144c6c8f4aa4f54196fe6cedbda1f0805 (diff) | |
download | minetest-0cfe3a810aee9311e8df811b28ae86948f924ae0.tar.gz minetest-0cfe3a810aee9311e8df811b28ae86948f924ae0.tar.bz2 minetest-0cfe3a810aee9311e8df811b28ae86948f924ae0.zip |
Do not scale texture unless necessary.
This avoids scaling textures to 'texture_min_size' unless it is actually
required (because either auto-scaling or bi/trilinear filtering is enabled)
Diffstat (limited to 'src/client')
-rw-r--r-- | src/client/tile.cpp | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/client/tile.cpp b/src/client/tile.cpp index 99495132b..cfdff1bb2 100644 --- a/src/client/tile.cpp +++ b/src/client/tile.cpp @@ -1805,7 +1805,8 @@ bool TextureSource::generateImagePart(std::string part_of_name, * mix high- and low-res textures, or for mods with least-common-denominator * textures that don't have the resources to offer high-res alternatives. */ - s32 scaleto = g_settings->getS32("texture_min_size"); + const bool filter = m_setting_trilinear_filter || m_setting_bilinear_filter; + const s32 scaleto = filter ? g_settings->getS32("texture_min_size") : 1; if (scaleto > 1) { const core::dimension2d<u32> dim = baseimg->getDimension(); |